private IUEvent _getUEvent <T>() where T : IUEvent { IUEvent uEvent = null; _uEvents.TryGetValue(typeof(T), out uEvent); return(uEvent); }
public void RemoveListener <T>(UnityAction <IUEventData> unityAction) where T : IUEvent { IUEvent uEvent = _getUEvent <T>(); if (uEvent != null) { uEvent.RemoveListener(unityAction); } }
// Methods -------------------------------- public void Invoke <T>(IUEventData uEventData) where T : IUEvent { IUEvent uEvent = _getUEvent <T>(); if (uEvent != null) { uEvent.Invoke(uEventData); } }
public void AddEventListener <T>(UnityAction <IUEventData> unityAction) where T : IUEvent { IUEvent uEvent = _getUEvent <T>(); if (uEvent == null) { uEvent = Activator.CreateInstance <T>(); _uEvents.Add(typeof(T), uEvent); } uEvent.AddListener(unityAction); }