コード例 #1
0
        internal void RemoveListener(int _index)
        {
            if (dicWithID.ContainsKey(_index))
            {
                SuperEventListenerUnitBase unit = dicWithID[_index];

                dicWithID.Remove(_index);

                Dictionary <Delegate, SuperEventListenerUnitBase> dic = dicWithEvent[unit.eventName];

                dic.Remove(unit.callBack);

                if (dic.Count == 0)
                {
                    dicWithEvent.Remove(unit.eventName);
                }
            }
        }
コード例 #2
0
        internal void RemoveListener <T>(string _eventName, EventCallBack <T> _callBack) where T : struct
        {
            if (dicWithEvent.ContainsKey(_eventName))
            {
                Dictionary <Delegate, SuperEventListenerUnitBase> dic = dicWithEvent[_eventName];

                if (dic.ContainsKey(_callBack))
                {
                    SuperEventListenerUnitBase unit = dic[_callBack];

                    dicWithID.Remove(unit.index);

                    dic.Remove(_callBack);

                    if (dic.Count == 0)
                    {
                        dicWithEvent.Remove(_eventName);
                    }
                }
            }
        }