public UpdateSecureTrade(Container cont, TradeFlag flag, int first, int second) : base(0x6F) { EnsureCapacity(17); Stream.Write((byte)flag); Stream.Write(cont.Serial); Stream.Write(first); Stream.Write(second); }
public void TestUpdateGoldSecureTrade(int gold, int plat, TradeFlag flag) { var cont = new Container(World.NewItem); var expected = new UpdateSecureTrade(cont, flag, gold, plat).Compile(); using var ns = PacketTestUtilities.CreateTestNetState(); ns.SendUpdateSecureTrade(cont, flag, gold, plat); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestUpdateGoldSecureTrade(int gold, int plat, TradeFlag flag) { var cont = new Container(Serial.LastItem + 1); var data = new UpdateSecureTrade(cont, flag, gold, plat).Compile(); Span <byte> expectedData = stackalloc byte[16]; var pos = 0; expectedData.Write(ref pos, (byte)0x6F); // Packet ID expectedData.Write(ref pos, (ushort)0x10); // Length expectedData.Write(ref pos, (byte)flag); // Command expectedData.Write(ref pos, cont.Serial); expectedData.Write(ref pos, gold); expectedData.Write(ref pos, plat); AssertThat.Equal(data, expectedData); }
public static void SendUpdateSecureTrade(this NetState ns, Container cont, TradeFlag flag, int first, int second) { if (ns == null || !ns.GetSendBuffer(out var buffer)) { return; } var writer = new CircularBufferWriter(buffer); writer.Write((byte)0x6F); // Packet ID writer.Write((ushort)16); // Length writer.Write((byte)flag); writer.Write(cont.Serial); writer.Write(first); writer.Write(second); ns.Send(ref buffer, writer.Position); }
public static void SendUpdateSecureTrade(this NetState ns, Container cont, TradeFlag flag, int first, int second) { if (ns == null) { return; } var writer = new SpanWriter(stackalloc byte[16]); writer.Write((byte)0x6F); // Packet ID writer.Write((ushort)16); // Length writer.Write((byte)flag); writer.Write(cont.Serial); writer.Write(first); writer.Write(second); ns.Send(writer.Span); }
public void TestUpdateGoldSecureTrade(int gold, int plat, TradeFlag flag) { var cont = new Container(Serial.LastItem + 1); Span <byte> data = new UpdateSecureTrade(cont, flag, gold, plat).Compile(); Span <byte> expectedData = stackalloc byte[] { 0x6F, // Packet ID 0x00, 0x10, // Length (byte)flag, // Command 0x00, 0x00, 0x00, 0x00, // Container Serial 0x00, 0x00, 0x00, 0x00, // Gold 0x00, 0x00, 0x00, 0x00 // Platinum }; int pos = 4; cont.Serial.CopyTo(ref pos, expectedData); gold.CopyTo(ref pos, expectedData); plat.CopyTo(ref pos, expectedData); AssertThat.Equal(data, expectedData); }
public UpdateSecureTrade(Container cont, TradeFlag flag, int first, int second) : base(0x6F) { EnsureCapacity(17); m_Stream.Write((byte)flag); m_Stream.Write(cont.Serial); m_Stream.Write(first); m_Stream.Write(second); }