using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
public class TestEventTrigger : MonoBehaviour
{
[SerializeField] private EventTrigger _evnetTrigger;
private void Start()
{
_evnetTrigger.triggers.Add(GeneratorEntry(EventTriggerType.PointerDown, OnPointerDownEventHandle));
_evnetTrigger.triggers.Add(GeneratorEntry(EventTriggerType.Drag, OnDragEventHandle));
}
private void OnPointerDownEventHandle(BaseEventData eventData)
{
Debug.Log("点击了Image");
}
private void OnDragEventHandle(BaseEventData baseEventData)
{
PointerEventData pointerEventData = (PointerEventData)baseEventData;
Debug.Log(pointerEventData.delta);
}
private EventTrigger.Entry GeneratorEntry(EventTriggerType eventTriggerType,UnityAction<BaseEventData> callBack)
{
EventTrigger.TriggerEvent triggerEvent = new EventTrigger.TriggerEvent();
triggerEvent.AddListener(callBack);
return new EventTrigger.Entry() {
eventID = eventTriggerType, callback = triggerEvent };
}
}
How does Unity use code to add trigger events to EventTrigger?
Guess you like
Origin blog.csdn.net/qq_30163099/article/details/131862663
Ranking