Exemple #1
0
        public void Serialize(BitStream stream)
        {
            stream.WriteUInt(MessageNumber);
            stream.WriteBits(new[] { (byte)Reliability }, 3);

            if (Reliability == PacketReliability.UnreliableSequenced ||
                Reliability == PacketReliability.ReliableSequenced ||
                Reliability == PacketReliability.ReliableOrdered)
            {
                stream.WriteBits(new[] { OrderingChannel }, 5);
                stream.WriteUInt(OrderingIndex);
            }

            stream.WriteBit(SplitPacket);

            if (SplitPacket)
            {
                stream.WriteUShort(SplitPacketId);
                stream.WriteUIntCompressed(SplitPacketIndex);
                stream.WriteUIntCompressed(SplitPacketCount);
            }

            stream.WriteUShortCompressed((ushort)BitStream.BytesToBits(Data.Length));

            stream.AlignWrite();

            stream.Write(Data);
        }