using Newtonsoft.Json;
using PSO2SERVER.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PSO2SERVER.Json
{
    public class ClassDefaultData
    {
        public List<DefaultClassesData> defaultClassesDatas = new List<DefaultClassesData>();
    }

    public class DefaultClassesData
    {
        [JsonProperty("class")]
        public string ClassNames = string.Empty;
        [JsonProperty("data")]
        public DefaultClassData Data { get; set; } = new DefaultClassData();
    }

    public class DefaultClassData
    {
        [JsonProperty("items")]
        public List<DefaultItem> Items { get; set; } = new List<DefaultItem>();
        [JsonProperty("subpalettes")]
        [JsonConverter(typeof(FixedListConverter<SubPalette>))]
        public FixedList<SubPalette> Subpalettes { get; set; } = new FixedList<SubPalette>(6);
    }

    public class DefaultItem
    {
        [JsonProperty("item_data")]
        public PSO2Items Item_data { get; set; } = new PSO2Items();
        [JsonProperty("weapon_palette_data")]
        public WeaponPalette Weapon_palette_data { get; set; } = new WeaponPalette();
        [JsonProperty("weapon_palette_id")]
        public byte Weapon_palette_id { get; set; } = new byte();
        [JsonProperty("unit_equiped_id")]
        public byte Unit_equiped_id { get; set; } = new byte();
    }

}
