using System; using UnityEngine; using UnityEngine.EventSystems; namespace Stary.Evo { public class OnCancelEventTrigger: MonoBehaviour, ICancelHandler { public readonly EasyEvent OnCancelEvent = new EasyEvent(); public void OnCancel(BaseEventData eventData) { OnCancelEvent.Trigger(eventData); } } public static class OnCancelEventTriggerExtension { public static IUnRegister OnCancelEvent(this T self, Action onCancel) where T : Component { return self.GetOrAddComponent().OnCancelEvent.Register(onCancel); } public static IUnRegister OnCancelEvent(this GameObject self, Action onCancel) { return self.GetOrAddComponent().OnCancelEvent.Register(onCancel); } } }