//------------------------------------------------------------------------- /// <summary> /// 注销消息监听 - 注销消息号指定的委托类 /// </summary> /// <param name="command"></param> /// <param name="del"></param> public void UnRegisterMessageHandler(int command, NetOnRecvMessageDelegate del) { if (null == del || 0 >= command) { return; } if (m_MessageHandlers.ContainsKey(command)) { List <NetOnRecvMessageDelegate> handlerList = null; m_MessageHandlers.TryGetValue(command, out handlerList); if (handlerList.Contains(del)) { handlerList.Remove(del); } if (0 == handlerList.Count) { UnRegisterMessageHandler(command); } } else { Debug.Log("UnRegisterMessageHandler have no del by command:" + command); } }
//------------------------------------------------------------------------- /// <summary> /// 消息批量监听注册 /// </summary> /// <param name="commands">消息号ID数组</param> /// <param name="del">消息回调委托</param> public void RegisterMessageHandler(int[] commands, NetOnRecvMessageDelegate del) { foreach (int c in commands) { RegisterMessageHandler(c, del); } }
//------------------------------------------------------------------------- #region method - 处理函数 /// <summary> /// 注册消息监听 /// </summary> /// <param name="command">消息号ID</param> /// <param name="del">消息接收回调委托</param> public void RegisterMessageHandler(int command, NetOnRecvMessageDelegate del) { List <NetOnRecvMessageDelegate> handlerList = null; if (m_MessageHandlers.ContainsKey(command)) { m_MessageHandlers.TryGetValue(command, out handlerList); } else { handlerList = new List <NetOnRecvMessageDelegate>(); m_MessageHandlers.Add(command, handlerList); } if (!handlerList.Contains(del)) { handlerList.Add(del); } }
//------------------------------------------------------------------------- /// <summary> /// 注销消息监听 - 注销消息号指定的委托类 /// </summary> /// <param name="command"></param> /// <param name="del"></param> public void UnRegisterMessageHandler(int command, NetOnRecvMessageDelegate del) { if (null == del || 0 >= command) { return; } if (m_MessageHandlers.ContainsKey(command)) { List<NetOnRecvMessageDelegate> handlerList = null; m_MessageHandlers.TryGetValue(command, out handlerList); if (handlerList.Contains(del)) { handlerList.Remove(del); } if (0 == handlerList.Count) { UnRegisterMessageHandler(command); } } else { Debug.Log("UnRegisterMessageHandler have no del by command:" + command); } }
/// <summary> /// 注册消息监听 /// </summary> /// <param name="command">消息号ID</param> /// <param name="del">消息接收回调委托</param> public void RegisterMessageHandler(int command, NetOnRecvMessageDelegate del) { List<NetOnRecvMessageDelegate> handlerList = null; if (m_MessageHandlers.ContainsKey(command)) { m_MessageHandlers.TryGetValue(command, out handlerList); } else { handlerList = new List<NetOnRecvMessageDelegate>(); m_MessageHandlers.Add(command, handlerList); } if (!handlerList.Contains(del)) { handlerList.Add(del); } }