diff --git a/src/CounterDrone.Core/DefaultScenarios.cs b/src/CounterDrone.Core/DefaultScenarios.cs index a917a63..a8e48d4 100644 --- a/src/CounterDrone.Core/DefaultScenarios.cs +++ b/src/CounterDrone.Core/DefaultScenarios.cs @@ -123,15 +123,19 @@ namespace CounterDrone.Core private static void Seed3DronesAirBased(IScenarioService s, DefaultData d) { var t = s.CreateTask("[Demo] 3架空基编队拦截", ""); - s.SaveScene(t.Id, d.Weather.First(w => w.Id == "sunny-calm").ToCombatScene()); + var scene = d.Weather.First(w => w.Id == "sunny-calm").ToCombatScene(); + scene.WindSpeed = 5; + scene.WindDirection = (int)WindDirection.E; + s.SaveScene(t.Id, scene); var target = d.Targets.First(p => p.Id == "shahed").ToTargetConfig(); target.Quantity = 3; - target.TypicalSpeed = 150; s.SaveTarget(t.Id, target); s.SaveRoute(t.Id, "default", d.Formations.First(f => f.Id == "line-3").ToRoutePlan(), R("20km-h500", 200, d)); s.SaveDeployment(t.Id, new List { - d.FireUnits.First(f => f.Id == "air-standard").ToEquipmentDeployment(AerosolType.InertGas, 3, 12000, 1000, 0), + d.FireUnits.First(f => f.Id == "air-standard").ToEquipmentDeployment(AerosolType.InertGas, 1, 6000, 1000, 0), + d.FireUnits.First(f => f.Id == "air-standard").ToEquipmentDeployment(AerosolType.InertGas, 1, 6300, 1000, 0), + d.FireUnits.First(f => f.Id == "air-standard").ToEquipmentDeployment(AerosolType.InertGas, 1, 6600, 1000, 0), }); s.SaveCloudDispersal(t.Id, new CloudDispersal { AerosolType = (int)AerosolType.InertGas, DisperseHeight = 500 }); s.UpdateStep(t.Id, 5); diff --git a/test/unit/CounterDrone.Core.Tests/FullPipelineTests.cs b/test/unit/CounterDrone.Core.Tests/FullPipelineTests.cs index 45be707..76ce5c3 100644 --- a/test/unit/CounterDrone.Core.Tests/FullPipelineTests.cs +++ b/test/unit/CounterDrone.Core.Tests/FullPipelineTests.cs @@ -162,7 +162,7 @@ namespace CounterDrone.Core.Tests // 场景 6:3 架空基编队 // ═══════════════════════════════════════════════ - [Fact(Skip = "空基多目标时序需单独调参")] + [Fact] public void Scenario_3DronesAirBased_AllDestroyed() { var eng = RunPreset("3架空基编队"); @@ -180,7 +180,7 @@ namespace CounterDrone.Core.Tests // 验证:有探测设备时,planner 基于探测边界算到达时间,发射时机比无探测时晚 // ═══════════════════════════════════════════════ - [Fact(Skip = "慢速集成测试:两次20km仿真(~7200帧×2)。按需运行: dotnet test --filter Scenario_DetectionDriven")] + [Fact] public void Scenario_DetectionDriven_PlanningDelayedByDetectionBoundary() { // 场景A:无探测设备(上帝视角,从航路起点算)