123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using System;
- using UnityEngine.EventSystems;
- public class ClickEventTriggerListener : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerClickHandler, IEventSystemHandler
- {
- public delegate void PointDelegate(PointerEventData eventData);
- public delegate void BoolDelegate(bool isPressed);
- public ClickEventTriggerListener.PointDelegate onPointerClick;
- public ClickEventTriggerListener.PointDelegate onPointerDown;
- public ClickEventTriggerListener.PointDelegate onPointerUp;
- public ClickEventTriggerListener.BoolDelegate onPress;
- public static ClickEventTriggerListener Get(GameObject go)
- {
- ClickEventTriggerListener clickEventTriggerListener = go.GetComponent<ClickEventTriggerListener>();
- if (clickEventTriggerListener == null)
- {
- clickEventTriggerListener = go.AddComponent<ClickEventTriggerListener>();
- }
- return clickEventTriggerListener;
- }
- public void OnPointerDown(PointerEventData eventData)
- {
- if (this.onPress != null)
- {
- this.onPress(true);
- }
- if (this.onPointerDown != null)
- {
- this.onPointerDown(eventData);
- }
- }
- public void OnPointerUp(PointerEventData eventData)
- {
- if (this.onPress != null)
- {
- this.onPress(false);
- }
- if (this.onPointerUp != null)
- {
- this.onPointerUp(eventData);
- }
- }
- public void OnPointerClick(PointerEventData eventData)
- {
- if (this.onPointerClick != null)
- {
- this.onPointerClick(eventData);
- }
- }
- }
|