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

31 lines
953 B
C#

using System;
using UnityEngine;
using UnityEngine.EventSystems;
namespace Stary.Evo
{
public class OnSelectEventTrigger: MonoBehaviour, ISelectHandler
{
public readonly EasyEvent<BaseEventData> OnSelectEvent = new EasyEvent<BaseEventData>();
public void OnSelect(BaseEventData eventData)
{
OnSelectEvent.Trigger(eventData);
}
}
public static class OnSelectEventTriggerTriggerExtension
{
public static IUnRegister OnSelectEvent<T>(this T self, Action<BaseEventData> onSelect)
where T : Component
{
return self.GetOrAddComponent<OnSelectEventTrigger>().OnSelectEvent.Register(onSelect);
}
public static IUnRegister OnSelectEvent(this GameObject self, Action<BaseEventData> onSelect)
{
return self.GetOrAddComponent<OnSelectEventTrigger>().OnSelectEvent.Register(onSelect);
}
}
}