鼠标点击(单击,双击)该物体时触发点击事件,可在inspector配置,也可用AddListener添加事件
自己定义的事件显示在Inspector面板并添加点击
代码
using UnityEngine;
using UnityEngine.Events;
using static UnityEngine.UI.Toggle;
public class ClickEvent : MonoBehaviour
{
public ToggleEvent m_OnClickToggle;
public UnityEvent m_OneOnClick;
public UnityEvent m_TwoOnClick;
private float lastTime;
private bool IsOn;
private void OnMouseDown()
{
//开关
if (m_OnClickToggle!=null)
{
IsOn = !IsOn;
m_OnClickToggle.Invoke(IsOn);
}
//单击
if (m_OneOnClick != null)
{
m_OneOnClick.Invoke();
}
//双击
if (m_TwoOnClick != null)
{
if (Time.realtimeSinceStartup - lastTime < 0.3f)
{
m_TwoOnClick.Invoke();
}
else
{
lastTime = Time.realtimeSinceStartup;
}
}
}
}