SaveTarget→SaveDroneProfile + 测试方法名同步

This commit is contained in:
tian 2026-06-18 15:55:37 +08:00
parent 67cea1490d
commit 9f682c9b91
13 changed files with 26 additions and 26 deletions

View File

@ -1395,7 +1395,7 @@ interface IScenarioService
// 步骤保存
void SaveScene(string scenarioId, CombatScene scene);
void SaveControlZones(string scenarioId, List<ControlZone> zones); // NEW
void SaveTarget(string scenarioId, DroneProfile target);
void SaveDroneProfile(string scenarioId, DroneProfile target);
void SaveDeployment(string scenarioId, List<EquipmentDeployment> equips); // 重构
void SaveCloudDispersal(string scenarioId, CloudDispersal cloud);
void SaveRoute(string scenarioId, RoutePlan route, List<Waypoint> wps);

View File

@ -72,7 +72,7 @@ var scenarioId = demos.Items[0].Id;
// 方式 B自定义
var sc = scenario.CreateScenario("我的想定", "");
scenario.SaveScene(sc.Id, new CombatScene { WindSpeed = 5, WindDirection = (int)WindDirection.E });
scenario.SaveTarget(sc.Id, new DroneProfile {
scenario.SaveDroneProfile(sc.Id, new DroneProfile {
WaveId = "w1", Model = "Shahed-136", Description = "活塞巡飞弹",
Quantity = 1, DroneType = (int)DroneType.FixedWing,
TypicalSpeed = 200, TypicalAltitude = 500
@ -150,7 +150,7 @@ mgr.DataService.GetAllEnvironments() / GetAllFormations() / GetAllRoutes()
// 想定 CRUD
mgr.CreateScenario(name, number) / mgr.DeleteScenario(id)
mgr.Search(kw, from, to, page, size)
mgr.SaveScene / SaveTarget / SaveDeployment / SaveCloud / SaveRoute / UpdateStep
mgr.SaveScene / SaveDroneProfile / SaveDeployment / SaveCloud / SaveRoute / UpdateStep
mgr.GetDetail(id) → ScenarioConfig
```

View File

@ -37,7 +37,7 @@ namespace CounterDrone.Core
{
var t = s.CreateScenario("[Demo] 无防御-无人机抵达目标", "");
s.SaveScene(t.Id, d.Environments.First(w => w.Id == "sunny-calm").ToCombatScene());
s.SaveTarget(t.Id, d.Drones.First(p => p.Id == "shahed").ToDroneProfile());
s.SaveDroneProfile(t.Id, d.Drones.First(p => p.Id == "shahed").ToDroneProfile());
s.SaveRoute(t.Id, "default", d.Formations.First(f => f.Id == "single").ToRoutePlan(), R("3km-h400", 600, d));
s.SaveCloudDispersal(t.Id, new CloudDispersal());
s.SaveDeployment(t.Id, new List<EquipmentDeployment>());
@ -48,7 +48,7 @@ namespace CounterDrone.Core
{
var t = s.CreateScenario("[Demo] 管控区域侵入", "");
s.SaveScene(t.Id, d.Environments.First(w => w.Id == "sunny-calm").ToCombatScene());
s.SaveTarget(t.Id, d.Drones.First(p => p.Id == "electric-scout").ToDroneProfile());
s.SaveDroneProfile(t.Id, d.Drones.First(p => p.Id == "electric-scout").ToDroneProfile());
s.SaveRoute(t.Id, "default", d.Formations.First(f => f.Id == "single").ToRoutePlan(), R("3km-h300", 300, d));
s.SaveCloudDispersal(t.Id, new CloudDispersal());
s.SaveDeployment(t.Id, new List<EquipmentDeployment>());
@ -71,7 +71,7 @@ namespace CounterDrone.Core
scene.WindSpeed = 5;
scene.WindDirection = (int)WindDirection.W;
s.SaveScene(t.Id, scene);
s.SaveTarget(t.Id, d.Drones.First(p => p.Id == "shahed").ToDroneProfile());
s.SaveDroneProfile(t.Id, d.Drones.First(p => p.Id == "shahed").ToDroneProfile());
s.SaveRoute(t.Id, "default", d.Formations.First(f => f.Id == "single").ToRoutePlan(),
new List<Waypoint> {
new() { PosX = 6600, PosY = 500, PosZ = 0, Speed = 200 },
@ -89,7 +89,7 @@ namespace CounterDrone.Core
{
var t = s.CreateScenario("[Demo] 喷气式拦截-活性材料", "");
s.SaveScene(t.Id, d.Environments.First(w => w.Id == "sunny-calm").ToCombatScene());
s.SaveTarget(t.Id, d.Drones.First(p => p.Id == "cruise-missile").ToDroneProfile());
s.SaveDroneProfile(t.Id, d.Drones.First(p => p.Id == "cruise-missile").ToDroneProfile());
s.SaveRoute(t.Id, "default", d.Formations.First(f => f.Id == "single").ToRoutePlan(),
new List<Waypoint> {
new() { PosX = 18000, PosY = 500, PosZ = 0, Speed = 200 },
@ -110,7 +110,7 @@ namespace CounterDrone.Core
scene.WindSpeed = 5;
scene.WindDirection = (int)WindDirection.E;
s.SaveScene(t.Id, scene);
s.SaveTarget(t.Id, d.Drones.First(p => p.Id == "shahed").ToDroneProfile());
s.SaveDroneProfile(t.Id, d.Drones.First(p => p.Id == "shahed").ToDroneProfile());
s.SaveRoute(t.Id, "default", d.Formations.First(f => f.Id == "single").ToRoutePlan(),
new List<Waypoint> {
new() { PosX = 9500, PosY = 500, PosZ = 0, Speed = 200 },
@ -133,7 +133,7 @@ namespace CounterDrone.Core
s.SaveScene(t.Id, scene);
var target = d.Drones.First(p => p.Id == "shahed").ToDroneProfile();
target.Quantity = 3;
s.SaveTarget(t.Id, target);
s.SaveDroneProfile(t.Id, target);
s.SaveRoute(t.Id, "default", d.Formations.First(f => f.Id == "line-3").ToRoutePlan(),
new List<Waypoint> {
new() { PosX = 10000, PosY = 500, PosZ = 0, Speed = 200 },

View File

@ -13,7 +13,7 @@ namespace CounterDrone.Core.Services
void SaveScene(string scenarioId, CombatScene scene);
void SaveControlZones(string scenarioId, List<ControlZone> zones);
void SaveTarget(string scenarioId, DroneProfile target);
void SaveDroneProfile(string scenarioId, DroneProfile target);
void SaveDeployment(string scenarioId, List<EquipmentDeployment> equips);
/// <summary>添加单个探测设备(独立于 SaveDeployment不覆盖火力单元</summary>

View File

@ -131,7 +131,7 @@ namespace CounterDrone.Core.Services
TouchScenario(scenarioId);
}
public void SaveTarget(string scenarioId, DroneProfile target)
public void SaveDroneProfile(string scenarioId, DroneProfile target)
{
target.ScenarioId = scenarioId;
if (string.IsNullOrEmpty(target.Id))

View File

@ -52,7 +52,7 @@ namespace CounterDrone.Unity
=> _service.SearchScenarios(kw, from, to, page, size);
public void SaveScene(string scenarioId, CombatScene s) => _service.SaveScene(scenarioId, s);
public void SaveTarget(string scenarioId, DroneProfile t) => _service.SaveTarget(scenarioId, t);
public void SaveDroneProfile(string scenarioId, DroneProfile t) => _service.SaveDroneProfile(scenarioId, t);
public void SaveDeployment(string scenarioId, List<EquipmentDeployment> e) => _service.SaveDeployment(scenarioId, e);
public void SaveCloud(string scenarioId, CloudDispersal c) => _service.SaveCloudDispersal(scenarioId, c);
public void SaveRoute(string scenarioId, string waveId, RoutePlan r, List<Waypoint> w) => _service.SaveRoute(scenarioId, waveId, r, w);

View File

@ -70,7 +70,7 @@ namespace CounterDrone.Unity
scenarioId = sc.Id;
scenario.SaveScene(scenarioId, defaults.Environments.First(w => w.Id == "sunny-calm").ToCombatScene());
scenario.SaveTarget(scenarioId, defaults.Drones.First(p => p.Id == "shahed").ToDroneProfile());
scenario.SaveDroneProfile(scenarioId, defaults.Drones.First(p => p.Id == "shahed").ToDroneProfile());
scenario.SaveRoute(scenarioId, "default",
defaults.Formations.First(f => f.Id == "single").ToRoutePlan(),
defaults.Routes.First(r => _routeLength > 6000 ? r.Id == "10km-h500" : r.Id == "5km-h500")

View File

@ -46,7 +46,7 @@ namespace CounterDrone.Core.Tests
_scenarioId = scenario.Id;
_scenario.SaveScene(_scenarioId, new CombatScene { WindSpeed = 0 });
_scenario.SaveTarget(_scenarioId, new DroneProfile
_scenario.SaveDroneProfile(_scenarioId, new DroneProfile
{
WaveId = "default",
DroneType = (int)DroneType.FixedWing,
@ -89,7 +89,7 @@ namespace CounterDrone.Core.Tests
WindSpeed = 30, // 最大风速
WindDirection = (int)WindDirection.E,
});
_scenario.SaveTarget(_scenarioId, new DroneProfile
_scenario.SaveDroneProfile(_scenarioId, new DroneProfile
{
WaveId = "default",
DroneType = (int)DroneType.FixedWing,
@ -128,7 +128,7 @@ namespace CounterDrone.Core.Tests
_scenarioId = scenario.Id;
_scenario.SaveScene(_scenarioId, new CombatScene { WindSpeed = 0 });
_scenario.SaveTarget(_scenarioId, new DroneProfile
_scenario.SaveDroneProfile(_scenarioId, new DroneProfile
{
WaveId = "default",
DroneType = (int)DroneType.HighSpeed,

View File

@ -185,7 +185,7 @@ namespace CounterDrone.Core.Tests
var scenarioA = _scenario.CreateScenario("无探测远航路", "");
_scenarioId = scenarioA.Id;
_scenario.SaveScene(_scenarioId, new CombatScene { WindSpeed = 0, Visibility = 10000 });
_scenario.SaveTarget(_scenarioId, new DroneProfile
_scenario.SaveDroneProfile(_scenarioId, new DroneProfile
{
WaveId = "default", DroneType = (int)DroneType.FixedWing, PowerType = (int)PowerType.Piston,
Quantity = 1, TypicalSpeed = 200, TypicalAltitude = 500,
@ -210,7 +210,7 @@ namespace CounterDrone.Core.Tests
var scenarioB = _scenario.CreateScenario("有探测远航路", "");
_scenarioId = scenarioB.Id;
_scenario.SaveScene(_scenarioId, new CombatScene { WindSpeed = 0, Visibility = 10000 });
_scenario.SaveTarget(_scenarioId, new DroneProfile
_scenario.SaveDroneProfile(_scenarioId, new DroneProfile
{
WaveId = "default", DroneType = (int)DroneType.FixedWing, PowerType = (int)PowerType.Piston,
Quantity = 1, TypicalSpeed = 200, TypicalAltitude = 500,

View File

@ -101,7 +101,7 @@ namespace CounterDrone.Core.Tests
Temperature = 25.0,
});
_service.SaveTarget(scenario.Id, new DroneProfile
_service.SaveDroneProfile(scenario.Id, new DroneProfile
{
WaveId = "default",
DroneType = (int)DroneType.FixedWing,
@ -196,10 +196,10 @@ namespace CounterDrone.Core.Tests
}
[Fact]
public void SaveTarget_SavesCorrectly()
public void SaveDroneProfile_SavesCorrectly()
{
var scenario = _service.CreateScenario("Target Test", "");
_service.SaveTarget(scenario.Id, new DroneProfile
_service.SaveDroneProfile(scenario.Id, new DroneProfile
{
WaveId = "default",
DroneType = (int)DroneType.FixedWing,
@ -392,7 +392,7 @@ namespace CounterDrone.Core.Tests
});
// 4. 步骤2目标配置
_service.SaveTarget(scenario.Id, new DroneProfile
_service.SaveDroneProfile(scenario.Id, new DroneProfile
{
WaveId = "default",
DroneType = (int)DroneType.HighSpeed,

View File

@ -50,7 +50,7 @@ namespace CounterDrone.Core.Tests
var scenario = _scenarioService.CreateScenario("Test", "");
_scenarioId = scenario.Id;
_scenarioService.SaveScene(_scenarioId, new CombatScene { WindSpeed = 0 });
_scenarioService.SaveTarget(_scenarioId, new DroneProfile
_scenarioService.SaveDroneProfile(_scenarioId, new DroneProfile
{
WaveId = "default",
DroneType = (int)DroneType.FixedWing,
@ -151,7 +151,7 @@ namespace CounterDrone.Core.Tests
var scenario = _scenarioService.CreateScenario("Detect", "");
_scenarioId = scenario.Id;
_scenarioService.SaveScene(_scenarioId, new CombatScene { WindSpeed = 0, Visibility = 10000 });
_scenarioService.SaveTarget(_scenarioId, new DroneProfile
_scenarioService.SaveDroneProfile(_scenarioId, new DroneProfile
{
WaveId = "w1",
DroneType = (int)DroneType.FixedWing,
@ -224,7 +224,7 @@ namespace CounterDrone.Core.Tests
// 探测设备在 X=5000 半径 1000 → 入口 X=4000出口 X=6000
var scenario = _scenarioService.CreateScenario("Reenter", "");
_scenarioService.SaveScene(scenario.Id, new CombatScene { WindSpeed = 0, Visibility = 10000 });
_scenarioService.SaveTarget(scenario.Id, new DroneProfile
_scenarioService.SaveDroneProfile(scenario.Id, new DroneProfile
{
WaveId = "w1", Quantity = 1, TypicalSpeed = 120, PowerType = (int)PowerType.Piston, TypicalAltitude = 300,
});
@ -275,7 +275,7 @@ namespace CounterDrone.Core.Tests
// D1 边界 X=1000D2 边界 X=3000 → D1 更早发现
var scenario = _scenarioService.CreateScenario("Fuse", "");
_scenarioService.SaveScene(scenario.Id, new CombatScene { WindSpeed = 0, Visibility = 10000 });
_scenarioService.SaveTarget(scenario.Id, new DroneProfile
_scenarioService.SaveDroneProfile(scenario.Id, new DroneProfile
{
WaveId = "w1", Quantity = 1, TypicalSpeed = 60, PowerType = (int)PowerType.Piston, TypicalAltitude = 300,
});

Binary file not shown.