Esempio n. 1
0
        //添加事件监听
        public void AddEventListener(string eventType, object listener, EventCenterFunction callback)
        {
            if (listener == null || eventType == null)
            {
                return;
            }
            //记录事件
            AddEvent(eventType);
            //添加事件监听器
            List <CEventListener> list = m_eventListenerList[eventType];
            CEventListener        e    = new CEventListener(listener, callback);

            list.Add(e);
        }
Esempio n. 2
0
        //派发事件(事件类型,附带数据可传可不传)
        public void DispatchEvent(string eventType, object data = null)
        {
            //检测事件是否存在
            if (!CheckIsHaveEvent(eventType))
            {
                return;
            }
            //得到监听者表
            List <CEventListener> listenerList = m_eventListenerList[eventType];

            for (int i = 0; i < listenerList.Count; ++i)
            {
                CEventListener listenerObj = listenerList[i];
                if (listenerObj.listener != null)
                {
                    listenerObj.function();
                }
            }
        }