示例#1
0
    /// <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
            });
        }
    }
示例#2
0
    /// <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);
                }
            }
        }
    }