public CheckActive(MonoBehaviour mb, System.Action <object> listener, bool persistent = false) { this.mb = mb; ReturnState persistence = persistent ? ReturnState.Keep : ReturnState.Done; this.listener = (object t) => { listener(t); return(persistence); }; }
public CheckActive(MonoBehaviour mb, EventRegistry.Callback listener) { this.mb = mb; this.listener = listener; }
public static int AddEventListenerWhenActiveAndEnabledPvt(this MonoBehaviour mb, string Event, EventRegistry.Callback listener, IPrivateEventDispatchable context) { Event = context == null ? Event : EventRegistry.instance.PrivateEvent(context, Event); return(EventRegistry.instance.AddEventListener(Event, new CheckActive(mb, listener).whenActiveAndDisabled)); }
public static int AddEventListenerUntilDisabled(this MonoBehaviour mb, string Event, EventRegistry.Callback listener, UnityEngine.Object context = null) { Event = context == null ? Event : EventRegistry.instance.PrivateEvent(context, Event); return(EventRegistry.instance.AddEventListener(Event, new CheckActive(mb, listener).untilDisabled)); }