Exemple #1
0
        public PacketHeader(string prefix)
        {
            base.Setup();
            packetPrefix       = prefix;
            packetReceiveIndex = 0;
            packetType         = Packet.PacketType.User;

            int byteCountMaxPlayer = UDPConnectionManager.GetMaxPlayerCount();

            byteCountMaxPlayer = (int)CountBits(byteCountMaxPlayer); // bit count for player index

            senderPlayerId = UDPConnectionManager.singleton.GetPlayerId();

            int bitLen = byteCountMaxPlayer + 5 + Packet.GetPrefixBitLen();

            headerInBits = new bool[bitLen];

            int headerIndex = 0;

            bool[] bytes = ByteArray2BitArray(IntToBytes((int)senderPlayerId));

            AppendBitsFromBoolArrayToBoolComplete(ref headerIndex, byteCountMaxPlayer, bytes, ref headerInBits);

            bytes = ByteArray2BitArray(IntToBytes((int)Packet.GetPrefixBitLen()));

            AppendBitsFromBoolArrayToBoolComplete(ref headerIndex, 5, bytes, ref headerInBits);

            int prefixIndex = UDPConnectionManager.PrefixIndex(prefix);

            bytes = ByteArray2BitArray(IntToBytes(prefixIndex));



            AppendBitsFromBoolArrayToBoolComplete(ref headerIndex, Packet.GetPrefixBitLen(), bytes, ref headerInBits);
        }
Exemple #2
0
        public void ResetPacketHeader(int prefixBitLen)
        {
            packetType = Packet.PacketType.User;

            int byteCountMaxPlayer = UDPConnectionManager.GetMaxPlayerCount();

            byteCountMaxPlayer = (int)CountBits(byteCountMaxPlayer); // bit count for player index

            int bitLen = byteCountMaxPlayer + 5 + prefixBitLen;

            headerInBits = new bool[bitLen];

            int headerIndex = 0;

            senderPlayerId = UDPConnectionManager.singleton.GetPlayerId();

            bool[] bytes = ByteArray2BitArray(IntToBytes((int)senderPlayerId));

            AppendBitsFromBoolArrayToBoolComplete(ref headerIndex, byteCountMaxPlayer, bytes, ref headerInBits);

            bytes = ByteArray2BitArray(IntToBytes(prefixBitLen));

            AppendBitsFromBoolArrayToBoolComplete(ref headerIndex, 5, bytes, ref headerInBits);

            int prefixIndex = UDPConnectionManager.PrefixIndex(packetPrefix);

            bytes = ByteArray2BitArray(IntToBytes(prefixIndex));

            AppendBitsFromBoolArrayToBoolComplete(ref headerIndex, prefixBitLen, bytes, ref headerInBits);
        }