Beispiel #1
0
 /// <summary>
 /// 添加监听 [给监听者使用,想监听了就添加,不需要监听的就不用管]
 /// </summary>
 /// <param name="opcode"></param>
 /// <param name="handler"></param>
 public void AddEventListener(K key, OnActinHandlerOneParm handler)
 {
     if (dic.ContainsKey(key))
     {
         dic[key].Add(handler);
     }
     else
     {
         List <OnActinHandlerOneParm> lsHandler = new List <OnActinHandlerOneParm>();
         lsHandler.Add(handler);
         dic[key] = lsHandler;
     }
 }
Beispiel #2
0
 /// <summary>
 /// 移除监听  [给监听者使用,如果有监听某条消息必须有移除,否则死人还能收到消息]
 /// </summary>
 /// <param name="protoID"></param>
 /// <param name="handler"></param>
 public void RemoveMsgEventListener(K key, OnActinHandlerOneParm handler)
 {
     if (dic.ContainsKey(key))
     {
         List <OnActinHandlerOneParm> lsHandler = dic[key];
         if (lsHandler.Count > 0)
         {
             for (int i = 0; i < lsHandler.Count; i++)
             {
                 if (lsHandler[i] == handler)
                 {
                     lsHandler.RemoveAt(i);
                     if (lsHandler.Count == 0)
                     {
                         dic.Remove(key);
                         return;
                     }
                 }
             }
         }
     }
 }