using UnityEngine; using UnityEngine.Events; using UnityEngine.EventSystems; namespace Rellac.Windows { /// /// Contains events referencing IPointerHandlers /// public class GUIPointerObject : MonoBehaviour, IPointerUpHandler, IPointerDownHandler, IPointerEnterHandler, IPointerExitHandler { /// /// Fires when a pointer up is detected /// [HideInInspector] [Tooltip("Fires when a pointer up is detected")] public UnityEvent onPointerUp = null; /// /// Fires when a pointer down is detected /// [HideInInspector] [Tooltip("Fires when a pointer down is detected")] public UnityEvent onPointerDown = null; /// /// Fires when a pointer enter is detected /// [HideInInspector] [Tooltip("Fires when a pointer enter is detected")] public UnityEvent onPointerEnter = null; /// /// Fires when a pointer exit is detected /// [HideInInspector] [Tooltip("Fires when a pointer exit is detected")] public UnityEvent onPointerExit = null; public void OnPointerUp(PointerEventData eventData) { if (onPointerUp != null) { onPointerUp.Invoke(); } } public void OnPointerDown(PointerEventData eventData) { if (onPointerDown != null) { onPointerDown.Invoke(); } } public void OnPointerEnter(PointerEventData eventData) { if (onPointerEnter != null) { onPointerEnter.Invoke(); } } public void OnPointerExit(PointerEventData eventData) { if (onPointerExit != null) { onPointerExit.Invoke(); } } } }