public void Register(PacketID id1, PacketID2 id2, HandleMsgCallback onHandleMsg) { int cmdID = (int)id1 << 16 | (int)id2; //Debugger.LogError("Register : " + cmdID); if (!m_HandleMap.ContainsKey(cmdID)) { m_HandleMap[cmdID] = onHandleMsg; } else { m_HandleMap[cmdID] += onHandleMsg; } }
public void Unregister(PacketID id1, PacketID2 id2, HandleMsgCallback onHandleMsg) { int cmdID = (int)id1 << 16 | (int)id2; if (m_HandleMap.ContainsKey(cmdID)) { m_HandleMap[cmdID] -= onHandleMsg; if (m_HandleMap[cmdID] == null) { m_HandleMap.Remove(cmdID); } m_dispatchDelHandle.Add(onHandleMsg); } }
public static void Unregister(this IPBChannel pbChannel, PacketID id1, PacketID2 id2, HandleMsgCallback onHandleMsg) { ((PBChannel)pbChannel).Dispatcher.Unregister(id1, id2, onHandleMsg); }
public static void Unregister(this TCPClient tcpClient, PacketID id1, PacketID2 id2, HandleMsgCallback onHandleMsg) { ((PBChannel)tcpClient.Channel).Dispatcher.Unregister(id1, id2, onHandleMsg); }