using Model;
using Newtonsoft.Json;

public class Base
{
    [JsonProperty("基地名称")]
    public string BaseName;
    [JsonProperty("基地编号")]
    public int BaseId;
    [JsonProperty("基地经度")]
    public double BaseLongitude;
    [JsonProperty("基地纬度")]
    public double BaseLatitude;
    [JsonProperty("基地海拔")]
    public double BaseHeight;
}

public struct AircraftParameter
{
    [JsonProperty("机型")]
    public string AircraftID;
    [JsonProperty("飞机编号")]
    public string Id;//如1-2,1表示基地1,2表示基地1中的2号飞机
    [JsonProperty("类型")]
    public string AircraftType;
    [JsonProperty("子类型")]
    public string AircraftSubType;
    [JsonProperty("最大起飞重量")]
    public double MaxTakeoffWeight;
    [JsonProperty("最大载油量")]
    public double MaxFuelCapacity;
    [JsonProperty("起飞准备时间")]
    public double TakeoffPreparationTime;
    [JsonProperty("最大载客数量")]
    public double MaxPassengerNumber;
    [JsonProperty("所属机场ID")]
    public int AirportId;
}

public class FirePoint
{
    [JsonProperty("火点ID")]
    public int FirePointId;
    [JsonProperty("火点经度")]
    public double FirePointLongitude;
    [JsonProperty("火点纬度")]
    public double FirePointLatitude;
    [JsonProperty("火点海拔")]
    public double FirePointHeight;
    [JsonProperty("初始火场面积")]
    public double InitialArea;
    [JsonProperty("初始火线长度")]
    public double fireLength;

}

public class ClimbSegment
{
    [JsonProperty("爬升段速度")]
    public double ClimbVelocity;
    [JsonProperty("爬升段油耗率")]
    public double ClimbFuelConsumptionRate;
}

public class DescentSegment
{
    [JsonProperty("下降段速度")]
    public double DescentVelocity;
    [JsonProperty("下降段油耗率")]
    public double DescentFuelConsumptionRate;
}

public class CruiseSegment
{
    [JsonProperty("巡航段高度")]
    public double CruiseHeight;
    [JsonProperty("巡航段速度")]
    public double CruiseVelocity;
    [JsonProperty("巡航段油耗率")]
    public double CruiseFuelConsumptionRate;
}

public struct CityWeather
{
    [JsonProperty("温度")]
    public double Temperature;
}

public class EditorConfig
{
    [JsonProperty("基地信息")]
    public List<Base> bases = new List<Base>();
    [JsonProperty("飞行器信息")]
    public List<AircraftParameter>aircraftParameters = new List<AircraftParameter>();
    [JsonProperty("火点")]
    public List<FirePoint> firePoints = new List<FirePoint>();
    [JsonProperty("爬升段")]
    public ClimbSegment climbSegment = new ClimbSegment();
    [JsonProperty("下降段")]
    public DescentSegment descentSegment = new DescentSegment();
    [JsonProperty("巡航段")]
    public CruiseSegment cruiseSegment = new CruiseSegment();
    [JsonProperty("天气信息")]
    public CityWeather cityWeather = new CityWeather();
}