public int Subscribe(GameObject target, int eventName, Action <object> handler) { RegisterEvent(target, eventName, handler); KObject orCreateObject = KObjectManager.Instance.GetOrCreateObject(target); return(orCreateObject.GetEventSystem().Subscribe(eventName, handler)); }
public static void Trigger(this GameObject go, int hash, object data = null) { KObject kObject = KObjectManager.Instance.Get(go); if (kObject != null && kObject.hasEventSystem) { kObject.GetEventSystem().Trigger(go, hash, data); } }
public void Unsubscribe(GameObject target, int eventName, Action <object> handler) { UnregisterEvent(target, eventName, handler); if (!((UnityEngine.Object)target == (UnityEngine.Object)null)) { KObject orCreateObject = KObjectManager.Instance.GetOrCreateObject(target); orCreateObject.GetEventSystem().Unsubscribe(eventName, handler); } }