Files
plugin-library/Assets/00.StaryEvo/Runtime/Tool/EventKit/EventTrigger/UI/OnPointerExitEventTrigger.cs
2025-03-31 11:16:52 +08:00

31 lines
1.0 KiB
C#

using System;
using UnityEngine;
using UnityEngine.EventSystems;
namespace Stary.Evo
{
public class OnPointerExitEventTrigger : MonoBehaviour, IPointerExitHandler
{
public readonly EasyEvent<PointerEventData> OnPointerExitEvent = new EasyEvent<PointerEventData>();
public void OnPointerExit(PointerEventData eventData)
{
OnPointerExitEvent.Trigger(eventData);
}
}
public static class OnPointerExitEventTriggerExtension
{
public static IUnRegister OnPointerExitEvent<T>(this T self, Action<PointerEventData> onPointerExit)
where T : Component
{
return self.GetOrAddComponent<OnPointerExitEventTrigger>().OnPointerExitEvent.Register(onPointerExit);
}
public static IUnRegister OnPointerExitEvent(this GameObject self, Action<PointerEventData> onPointerExit)
{
return self.GetOrAddComponent<OnPointerExitEventTrigger>().OnPointerExitEvent.Register(onPointerExit);
}
}
}