Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
 /// <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;
 }