コード例 #1
0
        public void TestMobileAnimation()
        {
            Serial mobile      = 0x1;
            var    action      = 200;
            var    frameCount  = 5;
            var    repeatCount = 1;
            var    reverse     = false;
            var    repeat      = false;
            byte   delay       = 5;

            var data = new MobileAnimation(
                mobile,
                action,
                frameCount,
                repeatCount,
                !reverse,
                repeat,
                delay
                ).Compile();

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

            expectedData.Write(ref pos, (byte)0x6E); // Packet ID
            expectedData.Write(ref pos, mobile);
            expectedData.Write(ref pos, (ushort)action);
            expectedData.Write(ref pos, (ushort)frameCount);
            expectedData.Write(ref pos, (ushort)repeatCount);
            expectedData.Write(ref pos, reverse);
            expectedData.Write(ref pos, repeat);
            expectedData.Write(ref pos, delay);

            AssertThat.Equal(data, expectedData);
        }
コード例 #2
0
ファイル: MobilePacketTests.cs プロジェクト: tateima/PathOfUO
        public void TestMobileAnimation(int action, int frameCount, int repeatCount, bool reverse, bool repeat, byte delay)
        {
            Serial mobile = 0x1;

            var expected = new MobileAnimation(
                mobile,
                action,
                frameCount,
                repeatCount,
                !reverse,
                repeat,
                delay
                ).Compile();

            using var ns = PacketTestUtilities.CreateTestNetState();
            ns.SendMobileAnimation(
                mobile,
                action,
                frameCount,
                repeatCount,
                !reverse,
                repeat,
                delay
                );

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

            AssertThat.Equal(result.Buffer[0].AsSpan(0), expected);
        }