/// <summary> /// 添加一个消息监听 /// </summary> /// <param name="head"></param> /// <param name="listener"></param> public void AddMessageEventListener(string head, IMessageEventListener listener) { if (m_AllMessageDic.ContainsKey(head)) { if (!m_AllMessageDic[head].Contains(listener)) { int index = 0; for (; index < m_AllMessageDic[head].Count;) { if (m_AllMessageDic[head][index].EventPriority() < listener.EventPriority()) { break; } else { index++; } } m_AllMessageDic[head].Insert(index, listener); } } else { m_AllMessageDic.Add(head, new List <IMessageEventListener>() { listener }); } }
/// <summary> /// 移除一个消息监听 /// </summary> /// <param name="head"></param> /// <param name="listener"></param> public void RemoveMessageEventListener(string head, IMessageEventListener listener) { if (m_AllMessageDic.ContainsKey(head)) { if (m_AllMessageDic[head].Contains(listener)) { m_AllMessageDic[head].Remove(listener); if (m_AllMessageDic[head].Count < 1) { m_AllMessageDic.Remove(head); } } } }