namespace CounterDrone.Core.Models
{
    // === 任务 ===
    public enum TaskStatus
    {
        Draft = 0,
        Configuring = 1,
        Completed = 2
    }

    // === 场景 ===
    public enum SceneType
    {
        Urban = 0,
        Plain = 1,
        Mountain = 2,
        Coast = 3
    }

    public enum WeatherType
    {
        Sunny = 0,
        Overcast = 1,
        Fog = 2,
        Rain = 3,
        Night = 4
    }

    public enum WindDirection
    {
        N = 0, NE = 1, E = 2, SE = 3,
        S = 4, SW = 5, W = 6, NW = 7
    }

    // === 目标 ===
    public enum TargetType
    {
        Rotor = 0,
        FixedWing = 1,
        Electric = 2,
        Piston = 3,
        HighSpeed = 4
    }

    public enum PowerType
    {
        Electric = 0,
        Piston = 1,
        Jet = 2
    }

    // === 装备 & 搭载平台 ===
    public enum PlatformType
    {
        AirBased = 0,
        GroundBased = 1
    }

    public enum EquipmentRole
    {
        Detection = 0,
        LaunchPlatform = 1
    }

    // === 气溶胶 & 毁伤 ===
    public enum AerosolType
    {
        InertGas = 0,
        ActiveMaterial = 1,
        ActiveFuel = 2
    }

    public enum ReleaseMode
    {
        Single = 0,
        Continuous = 1,
        Pulse = 2
    }

    public enum TriggerMode
    {
        Time = 0,
        Area = 1,
        Manual = 2
    }

    public enum DamageStage
    {
        Normal = 0,
        EngineAnomaly = 1,
        AttitudeLoss = 2,
        Destroyed = 3
    }

    // === 编队 & 编组 ===
    public enum FormationMode
    {
        Single = 0,
        Formation = 1,
        Swarm = 2
    }

    public enum GroupType
    {
        DroneFleet = 0,
        EquipmentGroup = 1
    }

    // === 运行时 ===
    public enum EntityType
    {
        Drone = 0,
        Platform = 1,
        DetectionEquip = 2,
        Cloud = 3,
        Munition = 4
    }

    public enum SimEventType
    {
        TargetDetected = 0,
        MunitionLaunched = 1,
        CloudGenerated = 2,
        DroneEnteredCloud = 3,
        DroneDestroyed = 4,
        DroneReachedTarget = 5,
        ZoneIntruded = 6,
        WaypointReached = 7,
        SimulationEnd = 8
    }

    // === 报告 ===
    public enum InterceptResult
    {
        Success = 0,
        Partial = 1,
        Failed = 2
    }

    public enum PositionMode
    {
        PointSelect = 0,
        ManualInput = 1,
        AlgorithmRecommended = 2
    }

    public enum ConfigSource
    {
        Manual = 0,
        Algorithm = 1
    }
}
