Пример #1
0
        static NetPacket()
        {
            HeaderSizes = NetUtils.AllocatePinnedUninitializedArray <int>(PropertiesCount);
            for (int i = 0; i < HeaderSizes.Length; i++)
            {
                switch ((PacketProperty)i)
                {
                case PacketProperty.Channeled:
                case PacketProperty.Ack:
                    HeaderSizes[i] = NetConstants.ChanneledHeaderSize;
                    break;

                case PacketProperty.Ping:
                    HeaderSizes[i] = NetConstants.HeaderSize + 2;
                    break;

                case PacketProperty.ConnectRequest:
                    HeaderSizes[i] = NetConnectRequestPacket.HeaderSize;
                    break;

                case PacketProperty.ConnectAccept:
                    HeaderSizes[i] = NetConnectAcceptPacket.Size;
                    break;

                case PacketProperty.Disconnect:
                    HeaderSizes[i] = NetConstants.HeaderSize + 8;
                    break;

                case PacketProperty.Pong:
                    HeaderSizes[i] = NetConstants.HeaderSize + 10;
                    break;

                default:
                    HeaderSizes[i] = NetConstants.HeaderSize;
                    break;
                }
            }
        }