public static void TriggerEvent <T>(string eventName, T go) { UnityEventsList eventList = null; if (Instance.eventDictionary.TryGetValue(eventName, out eventList)) { eventList.ExecuteEvents(go); } }
public static void StopListening <T>(string eventName, UnityAction <T> listener) { if (editorEventManager == null) { return; } UnityEventsList eventList = null; if (Instance.eventDictionary.TryGetValue(eventName, out eventList)) { eventList.RemoveEvent(listener); } }
public static void StartListening <T>(string eventName, UnityAction <T> listener) { UnityEventsList eventList = null; if (Instance.eventDictionary.TryGetValue(eventName, out eventList)) { eventList.AddEvent(listener); } else { eventList = new UnityEventsList(new ObjectUnityEvent <T>(listener)); Instance.eventDictionary.Add(eventName, eventList); } }