using System;
using System.Collections.Generic;
using PSO2SERVER.Models;
using PSO2SERVER.Protocol.Packets;

namespace PSO2SERVER.Protocol.Handlers
{
    [PacketHandlerAttr(0x4A, 0x0C)]
    public class SetTrackedMission : PacketHandler
    {
        public struct SetTrackedMissionPacket
        {
            /// Mission ID or [`u32::MAX`] if no mission is selected.
            public uint Id { get; set; }
        }

        public override void HandlePacket(Client context, byte flags, byte[] data, uint position, uint size)
        {
            if(context.Character == null)
                return;

            var info = string.Format("[<--] 接收到的数据 (hex): {0} 字节", data.Length);
            Logger.WriteHex(info, data);

            var reader = new PacketReader(data, position, size);
            var pkt = reader.ReadStruct<SetTrackedMissionPacket>();

            Logger.Write($"pkt.id:{pkt.Id}");
        }
    }
}
