public void TestSerialzation() { //Clientside create command, send to server var writer = new LiteNetLibSerializer(); new TestCommand(); //Serverside, gather input var writer2 = new LiteNetLibSerializer(); var packer = new InputPacker(); packer.AddInput(writer.Data); packer.Pack(writer2); //Clientside, receive input var reader = new LiteNetLibDeserializer(); reader.SetSource(writer2.Data); var messageTag = reader.GetByte(); messageTag.ShouldBe((byte)MessageTag.Frame); var commands = new InputParser(r => new TestCommand()).DeserializeInput(reader); commands.ShouldNotBeNull(); commands.Length.ShouldBe(1); commands.First().ShouldBeOfType <TestCommand>(); }
public void SendHashCode(HashCode checksum) { var writer = new LiteNetLibSerializer(); writer.Put((byte)MessageTag.Checksum); checksum.Serialize(writer); _client.FirstPeer.Send(writer.Data, 0, writer.Length, DeliveryMethod.ReliableOrdered); }
public void SendInput(CommandTag commandTag, ISerializable message) { var writer = new LiteNetLibSerializer(); writer.Put((byte)MessageTag.Input); writer.Put((ushort)commandTag); message.Serialize(writer); Debug.Log(writer.Length + " bytes"); _client.FirstPeer.Send(writer.Data, 0, writer.Length, DeliveryMethod.ReliableOrdered); }