protected void HandleReader(NetworkReader reader, int receivedSize, int channelId)
{
while (reader.Position < receivedSize)
{
ushort count = reader.ReadUInt16();
short key = reader.ReadInt16();
byte[] buffer = reader.ReadBytes(count);
NetworkReader reader2 = new NetworkReader(buffer);
if (this.logNetworkMessages)
{
StringBuilder builder = new StringBuilder();
for (int i = 0; i < count; i++)
{
builder.AppendFormat("{0:X2}", buffer[i]);
if (i > 150)
{
break;
}
}
Debug.Log(string.Concat(new object[] { "ConnectionRecv con:", this.connectionId, " bytes:", count, " msgId:", key, " ", builder }));
}
NetworkMessageDelegate delegate2 = null;
if (this.m_MessageHandlersDict.ContainsKey(key))
{
delegate2 = this.m_MessageHandlersDict[key];
}
if (delegate2 != null)
{
this.m_NetMsg.msgType = key;
this.m_NetMsg.reader = reader2;
this.m_NetMsg.conn = this;
this.m_NetMsg.channelId = channelId;
delegate2(this.m_NetMsg);
this.lastMessageTime = Time.time;
NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Incoming, 0x1c, "msg", 1);
if (key > 0x2f)
{
NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Incoming, 0, key.ToString() + ":" + key.GetType().Name, 1);
}
if (this.m_PacketStats.ContainsKey(key))
{
PacketStat stat = this.m_PacketStats[key];
stat.count++;
stat.bytes += count;
}
else
{
PacketStat stat2 = new PacketStat {
msgType = key
};
stat2.count++;
stat2.bytes += count;
this.m_PacketStats[key] = stat2;
}
}
else
{
if (LogFilter.logError)
{
Debug.LogError(string.Concat(new object[] { "Unknown message ID ", key, " connId:", this.connectionId }));
}
break;
}
}
}