Last active
July 17, 2019 12:38
-
-
Save Shiheuan/70e8536a83d9cdd428ae479a1df18c15 to your computer and use it in GitHub Desktop.
Unity UI EventTrigger instance
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using UnityEngine; | |
using UnityEngine.EventSystems; | |
public class UIEventListener : EventTrigger | |
{ | |
public delegate void UIDelegate(GameObject go); | |
public delegate void UIDragDelegate(Vector2 pressionPosition); | |
public event UIDelegate onPointerEnter; | |
public event UIDelegate onPointerExit; | |
public event UIDelegate onPointerDown; | |
public event UIDelegate onPointerUp; | |
public event UIDelegate onPointerClick; | |
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; | |
public event UIDragDelegate onBeginDragEx; | |
public event UIDragDelegate onDragEx; | |
public event UIDragDelegate onEndDragEx; | |
public static UIEventListener GetListener(GameObject go) | |
{ | |
UIEventListener listener = go.GetComponent<UIEventListener>(); | |
if (null == listener) | |
{ | |
listener = go.AddComponent<UIEventListener>(); | |
} | |
return listener; | |
} | |
public override void OnPointerEnter(PointerEventData eventData) | |
{ | |
if (null != onPointerEnter) | |
{ | |
onPointerEnter(gameObject); | |
} | |
} | |
public override void OnPointerExit(PointerEventData eventData) | |
{ | |
if (null != onPointerExit) | |
{ | |
onPointerExit(gameObject); | |
} | |
} | |
public override void OnPointerDown(PointerEventData eventData) | |
{ | |
if (null != onPointerDown) | |
{ | |
onPointerDown(gameObject); | |
} | |
} | |
public override void OnPointerUp(PointerEventData eventData) | |
{ | |
if (null != onPointerUp) | |
{ | |
onPointerUp(gameObject); | |
} | |
} | |
public override void OnPointerClick(PointerEventData eventData) | |
{ | |
if (null != onPointerClick) | |
{ | |
onPointerClick(gameObject); | |
} | |
} | |
public override void OnInitializePotentialDrag(PointerEventData eventData) | |
{ | |
if (null != onInitializePotentialDrag) | |
{ | |
onInitializePotentialDrag(gameObject); | |
} | |
} | |
public override void OnBeginDrag(PointerEventData eventData) | |
{ | |
if (null != onBeginDrag) | |
{ | |
onBeginDrag(gameObject); | |
} | |
if (null != onBeginDragEx) | |
{ | |
onBeginDragEx(eventData.position); | |
} | |
} | |
public override void OnDrag(PointerEventData eventData) | |
{ | |
if (null != onDrag) | |
{ | |
onDrag(gameObject); | |
} | |
if (null != onDragEx) | |
{ | |
onDragEx(eventData.position); | |
} | |
} | |
public override void OnEndDrag(PointerEventData eventData) | |
{ | |
if (null != onEndDrag) | |
{ | |
onEndDrag(gameObject); | |
} | |
if (null != onEndDragEx) | |
{ | |
onEndDragEx(eventData.position); | |
} | |
} | |
public override void OnDrop(PointerEventData eventData) | |
{ | |
if (null != onDrop) | |
{ | |
onDrop(gameObject); | |
} | |
} | |
public override void OnScroll(PointerEventData eventData) | |
{ | |
if (null != onScroll) | |
{ | |
onScroll(gameObject); | |
} | |
} | |
public override void OnUpdateSelected(BaseEventData eventData) | |
{ | |
if (null != onUpdateSelected) | |
{ | |
onUpdateSelected(gameObject); | |
} | |
} | |
public override void OnSelect(BaseEventData eventData) | |
{ | |
if (null != onSelect) | |
{ | |
onSelect(gameObject); | |
} | |
} | |
public override void OnDeselect(BaseEventData eventData) | |
{ | |
if (null != onDeselect) | |
{ | |
onDeselect(gameObject); | |
} | |
} | |
public override void OnMove(AxisEventData eventData) | |
{ | |
if (null != onMove) | |
{ | |
onMove(gameObject); | |
} | |
} | |
public override void OnSubmit(BaseEventData eventData) | |
{ | |
if (null != onSubmit) | |
{ | |
onSubmit(gameObject); | |
} | |
} | |
public override void OnCancel(BaseEventData eventData) | |
{ | |
if (null != onCancel) | |
{ | |
onCancel(gameObject); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment