using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
public class EventTriggerUtility : MonoBehaviour, IPointerClickHandler, IPointerDownHandler, IPointerUpHandler, IPointerEnterHandler, IPointerExitHandler {
public delegate void VoidDelegate(GameObject go);
public VoidDelegate onClick;
public VoidDelegate onDown;
public VoidDelegate onUp;
public VoidDelegate onEnter;
public VoidDelegate onExit;
public static EventTriggerUtility Get(GameObject go) {
EventTriggerUtility utility = go.GetComponent<EventTriggerUtility>();
if (utility == null) {
utility = go.AddComponent<EventTriggerUtility>();
}
return utility;
}
public void OnPointerClick(PointerEventData eventData) {
if (onClick != null) {
onClick(gameObject);
}
}
public void OnPointerDown(PointerEventData eventData) {
if (onDown != null) {
onDown(gameObject);
}
}
public void OnPointerUp(PointerEventData eventData) {
if (onUp != null) {
onUp(gameObject);
}
}
public void OnPointerEnter(PointerEventData eventData) {
if (onEnter != null) {
onEnter(gameObject);
}
}
public void OnPointerExit(PointerEventData eventData) {
if (onExit != null) {
onExit(gameObject);
}
}
}