/// <summary> /// Removes the eventName from the list of listeners for this event /// </summary> /// <param name="eventName"></param> /// <param name="listener"></param> public void RemoveListener(string eventName, UnityAction <object[]> listener) { UnityEvent1 thisEvent = null; if (Listeners.TryGetValue(eventName, out thisEvent)) { thisEvent.RemoveListener(listener); } }
/// <summary> /// Posts and event which will be triggered by all listeners /// </summary> /// <param name="eventName"></param> public void PostNotification(string eventName, params object[] args) { UnityEvent1 thisEvent = null; if (!string.IsNullOrEmpty(eventName)) { if (Listeners.TryGetValue(eventName, out thisEvent)) { thisEvent.Invoke(args); //Debug.Log("Event " + eventName + " invoked"); } } else { //Debug.Log("Event " + eventName + " was null or empty"); } }
/// <summary> /// Ads the eventName to a list of listeners for this event /// </summary> /// <param name="eventName"></param> /// <param name="listener"></param> public void AddListener(string eventName, UnityAction <object[]> listener) { UnityEvent1 thisEvent = null; if (Listeners.TryGetValue(eventName, out thisEvent)) { thisEvent.AddListener(listener); //Debug.Log("Listener to event " + eventName + " added"); } else { thisEvent = new UnityEvent1(); thisEvent.AddListener(listener); Listeners.Add(eventName, thisEvent); //Debug.Log("The new event " + eventName + " added"); } }