using PSO2SERVER.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using static PSO2SERVER.Models.Orders;

namespace PSO2SERVER.Protocol.Packets
{
    public class TakenOrdersPacket : Packet
    {
        public ObjectHeader user { get; set; } = new ObjectHeader();
        public ClientOrder[] orders { get; set; } = new ClientOrder[50];
        public OrderStatus[] statues { get; set; } = new OrderStatus[50];
        public uint unk1 { get; set; }
        public uint unk2 { get; set; }
        public uint unk3 { get; set; }

        public TakenOrdersPacket()
        {
        }

        #region implemented abstract members of Packet

        public override byte[] Build()
        {
            var pkt = new PacketWriter();
            pkt.WriteObjectHeader(user);
            pkt.WriteStructArray(orders);
            pkt.WriteStructArray(statues);
            pkt.Write(unk1);
            pkt.Write(unk2);
            pkt.Write(unk3);
            return pkt.ToArray();
        }

        public override PacketHeader GetHeader()
        {
            return new PacketHeader(0x1F, 0x08, PacketFlags.None);
        }

        #endregion
    }
}