//添加事件监听 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); }
//派发事件(事件类型,附带数据可传可不传) 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(); } } }