You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.5 KiB

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
6 years ago
public class EventSystemHandler : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IDragHandler, IPointerExitHandler
{
6 years ago
// public bool MouseOnly = false;
[System.Serializable]
public class PointerEvent : UnityEvent<PointerEventData> { };
6 years ago
public PointerEvent onPointerDown = new PointerEvent();
public PointerEvent onPointerUp = new PointerEvent();
public PointerEvent onPointerDrag = new PointerEvent();
public PointerEvent onPointerExit = new PointerEvent();
public void OnPointerDown(PointerEventData eventData)
{
LogPointerEvent(eventData);
onPointerDown.Invoke(eventData);
}
public void OnPointerUp(PointerEventData eventData)
{
LogPointerEvent(eventData);
onPointerUp.Invoke(eventData);
}
public void OnDrag(PointerEventData eventData)
{
LogPointerEvent(eventData);
onPointerDrag.Invoke(eventData);
}
public void OnPointerExit(PointerEventData eventData)
{
LogPointerEvent(eventData);
// if (skip_on_mouse_only(eventData))
// return;
onPointerExit.Invoke(eventData);
}
void LogPointerEvent(PointerEventData eventData)
{
// Debug.Log(eventData);
}
// private bool skip_on_mouse_only(PointerEventData eventData)
// {
// return MouseOnly && eventData.pointerId != -1;
// }
}