You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PlumberUltimateAds/Assets/Scripts/MS/PointerEvent.cs

106 lines
2.1 KiB
C#

4 weeks ago
/*
http://www.cgsoso.com/forum-211-1.html
CG Unity3d Unity3d VIP
CGSOSO CG
daily assets update for try.
U should buy the asset from home store if u use it in your project!
*/
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
namespace MS
{
public class PointerEvent : MonoBehaviour, IPointerClickHandler, IPointerDownHandler, IPointerUpHandler, IPointerEnterHandler, IPointerExitHandler, IEventSystemHandler
{
[Header("Pointer Enter")]
public UnityEvent onEnter;
[Header("Pointer Hover")]
public UnityEvent onHover;
[Header("Pointer Exit")]
public UnityEvent onExit;
[Header("Pointer Up Event")]
public UnityEvent onLeftUp;
public UnityEvent onRightUp;
[Header("Pointer Donw Event")]
public UnityEvent onLeftDown;
public UnityEvent onRightDown;
[Header("Pointer Click Event")]
public UnityEvent onLeftClick;
public UnityEvent onRightClick;
private bool isHover;
public void OnPointerUp(PointerEventData eventData)
{
if (eventData.button == PointerEventData.InputButton.Left)
{
onLeftUp.Invoke();
}
if (eventData.button == PointerEventData.InputButton.Right)
{
onRightUp.Invoke();
}
}
public void OnPointerDown(PointerEventData eventData)
{
if (eventData.button == PointerEventData.InputButton.Left)
{
onLeftDown.Invoke();
}
if (eventData.button == PointerEventData.InputButton.Right)
{
onRightDown.Invoke();
}
}
public void OnPointerClick(PointerEventData eventData)
{
if (eventData.button == PointerEventData.InputButton.Left)
{
onLeftClick.Invoke();
}
if (eventData.button == PointerEventData.InputButton.Right)
{
onRightClick.Invoke();
}
}
public void OnPointerEnter(PointerEventData eventData)
{
onEnter.Invoke();
isHover = true;
}
public void OnPointerExit(PointerEventData eventData)
{
onExit.Invoke();
isHover = false;
}
private void FixedUpdate()
{
if (isHover)
{
onHover.Invoke();
}
}
}
}