예제 #1
0
        public int WriteTo(byte[] buffer, int offset)
        {
            var dataOffset = offset + MsgSerializer.HeaderLength;
            var written    = 0;

            written += MsgSerializer.WriteUInt32(Frame, buffer, dataOffset);
            written += MsgSerializer.WriteInt32(StateHash, buffer, dataOffset + written);
            written += MsgSerializer.WriteHeader(written, MsgId, buffer, offset);

            return(written);
        }
예제 #2
0
        public int WriteTo(byte[] buffer, int offset)
        {
            var dataOffset = offset + MsgSerializer.HeaderLength;
            var written    = 0;

            written += MsgSerializer.WriteInt32(Seed, buffer, dataOffset);
            written += MsgSerializer.WriteStringArray(Players, buffer, dataOffset + written);
            written += MsgSerializer.WriteByte(YourIndex, buffer, dataOffset + written);
            written += MsgSerializer.WriteByte(TicksPerSecond, buffer, dataOffset + written);
            written += MsgSerializer.WriteHeader(written, MsgId, buffer, offset);

            return(written);
        }
        public void ShouldSerializeAndDeserializeInt32(int value)
        {
            var written = MsgSerializer.WriteInt32(value, _buffer, 0);

            Assert.True(written == sizeof(int), $"Bad write size: {written}");

            var offset       = 0;
            var deserialized = MsgSerializer.ReadInt32(_buffer, ref offset);

            Assert.True(offset == sizeof(int), $"Bad read size: {offset}");

            Assert.True(value == deserialized, $"Bad result: {deserialized}");
        }