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

32 lines
979 B
C#

using System;
using UnityEngine;
using UnityEngine.EventSystems;
namespace Stary.Evo
{
public class OnDeselectEventTrigger: MonoBehaviour, IDeselectHandler
{
public readonly EasyEvent<BaseEventData> OnDeselectEvent = new EasyEvent<BaseEventData>();
public void OnDeselect(BaseEventData eventData)
{
OnDeselectEvent.Trigger(eventData);
}
}
public static class OnDeselectEventTriggerExtension
{
public static IUnRegister OnDeselectEvent<T>(this T self, Action<BaseEventData> onDeselect)
where T : Component
{
return self.GetOrAddComponent<OnDeselectEventTrigger>().OnDeselectEvent.Register(onDeselect);
}
public static IUnRegister OnDeselectEvent(this GameObject self, Action<BaseEventData> onDeselect)
{
return self.GetOrAddComponent<OnDeselectEventTrigger>().OnDeselectEvent.Register(onDeselect);
}
}
}