Example #1
0
        private IUEvent _getUEvent <T>() where T : IUEvent
        {
            IUEvent uEvent = null;

            _uEvents.TryGetValue(typeof(T), out uEvent);
            return(uEvent);
        }
Example #2
0
        public void RemoveListener <T>(UnityAction <IUEventData> unityAction) where T : IUEvent
        {
            IUEvent uEvent = _getUEvent <T>();

            if (uEvent != null)
            {
                uEvent.RemoveListener(unityAction);
            }
        }
Example #3
0
        //  Methods --------------------------------

        public void Invoke <T>(IUEventData uEventData) where T : IUEvent
        {
            IUEvent uEvent = _getUEvent <T>();

            if (uEvent != null)
            {
                uEvent.Invoke(uEventData);
            }
        }
Example #4
0
        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);
        }