截取事件

有两种截取事件的方法:

第一种,你可以扩展EventTrigger,并覆盖你感兴趣截取的事件的函数(简单常用);

第二种,指定单个的委托事件。

第一种方式:

public class EventTriggerExample : EventTrigger
{
    public override void OnBeginDrag(PointerEventData data)
    {
    Debug.Log("OnBeginDrag called.");
    }
    //省略其他重写的事件方法
}

第二种方式:

public class EventTriggerDelegateExample : MonoBehaviour
{
    void Start()
    {
        EventTrigger trigger = GetComponent<EventTrigger>();
        EventTrigger.Entry entry = new EventTrigger.Entry();
        entry.eventID = EventTriggerType.PointerDown;
        entry.callback.AddListener((data) => { OnPointerDownDelegate((PointerEventData)data); });
        trigger.triggers.Add(entry);
    }

    public void OnPointerDownDelegate(PointerEventData data)
    {
        Debug.Log("OnPointerDownDelegate called.");
    }
}