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

31 lines
906 B
C#

using System;
using UnityEngine;
using UnityEngine.EventSystems;
namespace Stary.Evo
{
public class OnMoveEventTrigger: MonoBehaviour, IMoveHandler
{
public readonly EasyEvent<AxisEventData> OnMoveEvent = new EasyEvent<AxisEventData>();
public void OnMove(AxisEventData eventData)
{
OnMoveEvent.Trigger(eventData);
}
}
public static class OnMoveEventTriggerExtension
{
public static IUnRegister OnMoveEvent<T>(this T self, Action<AxisEventData> onMove)
where T : Component
{
return self.GetOrAddComponent<OnMoveEventTrigger>().OnMoveEvent.Register(onMove);
}
public static IUnRegister OnMoveEvent(this GameObject self, Action<AxisEventData> onMove)
{
return self.GetOrAddComponent<OnMoveEventTrigger>().OnMoveEvent.Register(onMove);
}
}
}