示例#1
0
        public void TestServerChange(int x, int y, int z, int mapID)
        {
            var p        = new Point3D(x, y, z);
            var map      = Map.Maps[mapID];
            var expected = new ServerChange(p, map).Compile();

            using var ns = PacketTestUtilities.CreateTestNetState();
            ns.SendServerChange(p, map);

            var result = ns.SendPipe.Reader.TryRead();

            AssertThat.Equal(result.Buffer[0].AsSpan(0), expected);
        }
示例#2
0
        public void TestServerChange()
        {
            var p    = new Point3D(100, 1000, 1);
            var map  = Map.Felucca;
            var data = new ServerChange(p, map).Compile();

            Span <byte> expectedData = stackalloc byte[16];
            var         pos          = 0;

            expectedData.Write(ref pos, (byte)0x76); // Packet ID
            expectedData.Write(ref pos, (ushort)p.X);
            expectedData.Write(ref pos, (ushort)p.Y);
            expectedData.Write(ref pos, (short)p.Z);
#if NO_LOCAL_INIT
            expectedData.Write(ref pos, (byte)0); // Unknown
            expectedData.Write(ref pos, 0);       // Server X, Server Y
#else
            pos += 5;
#endif
            expectedData.Write(ref pos, (ushort)map.Width);  // Server Width
            expectedData.Write(ref pos, (ushort)map.Height); // Server Height

            AssertThat.Equal(data, expectedData);
        }
示例#3
0
 protected void OnServerChange(string message)
 {
     ServerChange?.Invoke(this, new ServerEventArgs(message));
 }