New file |
| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | using UnityEngine.EventSystems; |
| | | using System; |
| | | |
| | | public class EventTriggerListener : EventTrigger { |
| | | |
| | | #region 变量 |
| | | //带参数是为了方便取得绑定了UI事件的对象 |
| | | public delegate void UIDelegate(GameObject go); |
| | | public event UIDelegate onEnter; |
| | | public event UIDelegate onExit; |
| | | public event UIDelegate onDown; |
| | | public event UIDelegate onUp; |
| | | public event UIDelegate onClick; |
| | | public event UIDelegate onInitializePotentialDrag; |
| | | public event UIDelegate onBeginDrag; |
| | | public event UIDelegate onDrag; |
| | | public event UIDelegate onEndDrag; |
| | | public event UIDelegate onDrop; |
| | | public event UIDelegate onScroll; |
| | | public event UIDelegate onUpdateSelected; |
| | | public event UIDelegate onSelect; |
| | | public event UIDelegate onDeselect; |
| | | public event UIDelegate onMove; |
| | | public event UIDelegate onSubmit; |
| | | public event UIDelegate onCancel; |
| | | #endregion |
| | | |
| | | public static EventTriggerListener GetListener(GameObject go) |
| | | { |
| | | EventTriggerListener listener = go.GetComponent<EventTriggerListener>(); |
| | | if (listener == null) listener = go.AddComponent<EventTriggerListener>(); |
| | | return listener; |
| | | } |
| | | |
| | | public void RemoveListener(GameObject go) |
| | | { |
| | | if (onClick != null) onClick = null; |
| | | } |
| | | |
| | | #region 方法 |
| | | public override void OnPointerEnter(PointerEventData eventData) |
| | | { |
| | | if (onEnter != null) onEnter(gameObject); |
| | | } |
| | | public override void OnPointerExit(PointerEventData eventData) |
| | | { |
| | | if (onExit != null) onExit(gameObject); |
| | | } |
| | | public override void OnPointerDown(PointerEventData eventData) |
| | | { |
| | | if (onDown != null) onDown(gameObject); |
| | | } |
| | | public override void OnPointerUp(PointerEventData eventData) |
| | | { |
| | | if (onUp != null) onUp(gameObject); |
| | | } |
| | | public override void OnPointerClick(PointerEventData eventData) |
| | | { |
| | | if (onClick != null) onClick(gameObject); |
| | | } |
| | | public override void OnInitializePotentialDrag(PointerEventData eventData) |
| | | { |
| | | if (onInitializePotentialDrag != null) onInitializePotentialDrag(gameObject); |
| | | } |
| | | public override void OnBeginDrag(PointerEventData eventData) |
| | | { |
| | | if (onBeginDrag != null) onBeginDrag(gameObject); |
| | | } |
| | | public override void OnDrag(PointerEventData eventData) |
| | | { |
| | | if (onDrag != null) onDrag(gameObject); |
| | | } |
| | | public override void OnEndDrag(PointerEventData eventData) |
| | | { |
| | | if (onEndDrag != null) onEndDrag(gameObject); |
| | | } |
| | | public override void OnDrop(PointerEventData eventData) |
| | | { |
| | | if (onDrop != null) onDrop(gameObject); |
| | | } |
| | | public override void OnScroll(PointerEventData eventData) |
| | | { |
| | | if (onScroll != null) onScroll(gameObject); |
| | | } |
| | | public override void OnUpdateSelected(BaseEventData eventData) |
| | | { |
| | | if (onUpdateSelected != null) onUpdateSelected(gameObject); |
| | | } |
| | | public override void OnSelect(BaseEventData eventData) |
| | | { |
| | | if (onSelect != null) onSelect(gameObject); |
| | | } |
| | | public override void OnDeselect(BaseEventData eventData) |
| | | { |
| | | if (onDeselect != null) onDeselect(gameObject); |
| | | } |
| | | public override void OnMove(AxisEventData eventData) |
| | | { |
| | | if (onMove != null) onMove(gameObject); |
| | | } |
| | | public override void OnSubmit(BaseEventData eventData) |
| | | { |
| | | if (onSubmit != null) onSubmit(gameObject); |
| | | } |
| | | public override void OnCancel(BaseEventData eventData) |
| | | { |
| | | if (onCancel != null) onCancel(gameObject); |
| | | } |
| | | #endregion |
| | | } |