internal void RegisterHandlerSafe(short msgType, JHSNetworkMessageDelegate handler) { if (handler == null) { if (NetConfig.logFilter >= JHSLogFilter.Error) { JHSDebug.LogError("RegisterHandlerSafe id:" + msgType + " handler is null"); } return; } if (NetConfig.logFilter >= JHSLogFilter.Developer) { JHSDebug.Log("RegisterHandlerSafe id:" + msgType + " handler:" + handler.GetMethodName()); } if (m_MsgHandlers.ContainsKey(msgType)) { if (NetConfig.logFilter >= JHSLogFilter.Error) { JHSDebug.LogError("RegisterHandlerSafe id:" + msgType + " handler:" + handler.GetMethodName() + " conflict"); } return; } m_MsgHandlers.Add(msgType, handler); }
protected bool HandleReader(JHSNetworkReader reader) { try { ushort sz = reader.ReadUInt16(); short msgType = reader.ReadInt16(); byte[] msgBuffer = reader.ReadBytes(sz); if (isClient) { JHSNetworkReader msgReader = new JHSNetworkReader(msgBuffer); if (m_MessageHandlersDict.ContainsKey(msgType)) { JHSNetworkClient.PushMessage(new JHSNetworkMessage() { msgType = msgType, reader = msgReader, conn = this }); } else { if (NetConfig.logFilter >= JHSLogFilter.Error) { JHSDebug.LogError("JHSConnection :: Unknown message ID " + msgType + " connId:" + connectionId); } if (NetConfig.UseStatistics) { ReadError += 1; } } } else { JHSNetworkReader msgReader = new JHSNetworkReader(msgBuffer); JHSNetworkMessageDelegate msgDelegate = null; if (m_MessageHandlersDict.ContainsKey(msgType)) { msgDelegate = m_MessageHandlersDict[msgType]; } if (msgDelegate != null) { msgDelegate(new JHSNetworkMessage() { msgType = msgType, reader = msgReader, conn = this }); } else { if (NetConfig.logFilter >= JHSLogFilter.Error) { JHSDebug.LogError("JHSConnection :: Unknown message ID " + msgType + " connId:" + connectionId); } if (NetConfig.UseStatistics) { ReadError += 1; } } } } catch { } return(true); }
public static void RegisterHandler(short msgType, JHSNetworkMessageDelegate handler) { Instance.m_MessageHandlers.RegisterHandlerSafe(msgType, handler); }
internal void RegisterHandlerInternal(short msgType, JHSNetworkMessageDelegate handler) { m_MessageHandlers.RegisterHandler(msgType, handler); }