示例#1
0
        protected void NpcStoppedMoving(byte type, List <byte> data)
        {
            byte[] packet = data.ToArray();
            UInt32 id     = BitConverter.ToUInt32(packet, 1);
            UInt16 x      = BitConverter.ToUInt16(packet, 5);
            UInt16 y      = BitConverter.ToUInt16(packet, 7);
            byte   life   = packet[9];

            UpdateNpcMovement?.Invoke(id, new Coordinate(x, y), false, false);
            UpdateNpcLife?.Invoke(id, life);
        }
示例#2
0
        protected void NpcMovement(byte type, List <byte> data)
        {
            byte[] packet       = data.ToArray();
            UInt32 id           = BitConverter.ToUInt32(packet, 1);
            byte   movementType = packet[5];
            UInt16 x            = BitConverter.ToUInt16(packet, 6);
            UInt16 y            = BitConverter.ToUInt16(packet, 8);
            bool   running;

            if (movementType == 0x17)
            {
                running = true;
            }
            else if (movementType == 0x01)
            {
                running = false;
            }
            else
            {
                return;
            }

            UpdateNpcMovement?.Invoke(id, new Coordinate(x, y), true, running);
        }