/// <summary> /// 挂载一个消息监听器到当前的消息节点 /// </summary> /// <param name="key">消息ID</param> /// <param name="listener">消息监听器</param> /// <returns>当前消息节点已经挂载了这个消息监听器那么返回false</returns> public bool AttachEventListener(int key, IEventListener listener) { if (listener == null) { return(false); } if (!mListeners.ContainsKey(key)) { mListeners.Add(key, new List <IEventListener>() { listener }); return(true); } if (mListeners[key].Contains(listener)) { return(false); } int pos = 0; for (int i = 0; i < mListeners[key].Count; i++) { if (listener.EventPriority() > mListeners[key][i].EventPriority()) { break; } pos++; } mListeners[key].Insert(pos, listener); return(true); }
/// <summary> /// 挂载一个消息监听器到当前的消息节点上 /// </summary> /// <param name="key">消息ID</param> /// <param name="listener">消息监听器</param> /// <returns>当前消息节点已经挂载了这个消息监听器那么返回false</returns> public bool AttachEventListener(int key, IEventListener listener) { if (listener == null) { return false; } if (!mListeners.ContainsKey(key)) { mListeners.Add(key, new List<IEventListener>() { listener }); return true; } if (mListeners[key].Contains(listener)) { return false; } int pos = 0; for (int i = 0; i < mListeners[key].Count; i++) { if (listener.EventPriority() > mListeners[key][i].EventPriority()) break; pos++; } mListeners[key].Insert(pos, listener); return true; }