using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; namespace Rokid.MRC { /// /// 事件触发工具类 /// public class EventTriggerListener : UnityEngine.EventSystems.EventTrigger { public delegate void VoidDelegate(GameObject go,PointerEventData eventData=null); public VoidDelegate onClick; public VoidDelegate onDown; public VoidDelegate onEnter; public VoidDelegate onExit; public VoidDelegate onUp; public VoidDelegate onSelect; public VoidDelegate onUpdateSelect; public VoidDelegate onDrag; public VoidDelegate onDragBegin; public VoidDelegate onDragEnd; public VoidDelegate onScroll; static public EventTriggerListener Get(GameObject go) { EventTriggerListener listener = go.GetComponent(); if (listener == null) listener = go.AddComponent(); return listener; } public override void OnPointerClick(PointerEventData eventData) { if (onClick != null) onClick(gameObject, eventData); } public override void OnPointerDown(PointerEventData eventData) { if (onDown != null) onDown(gameObject, eventData); } public override void OnPointerEnter(PointerEventData eventData) { if (onEnter != null) onEnter(gameObject,eventData); } public override void OnPointerExit(PointerEventData eventData) { if (onExit != null) onExit(gameObject,eventData); } public override void OnPointerUp(PointerEventData eventData) { if (onUp != null) onUp(gameObject, eventData); } public override void OnSelect(BaseEventData eventData) { if (onSelect != null) onSelect(gameObject, (PointerEventData)eventData); } public override void OnUpdateSelected(BaseEventData eventData) { if (onUpdateSelect != null) onUpdateSelect(gameObject, (PointerEventData)eventData); } public override void OnBeginDrag(PointerEventData eventData) { if(onDragBegin != null) onDragBegin(gameObject, eventData); } public override void OnDrag(PointerEventData eventData) { if(onDrag != null) onDrag(gameObject, eventData); } public override void OnEndDrag(PointerEventData eventData) { if(onDragEnd != null) onDragEnd(gameObject, eventData); } public override void OnScroll(PointerEventData eventData) { if(onScroll != null) onScroll(gameObject, eventData); } } }