SaveTarget→SaveDroneProfile + 测试方法名同步
This commit is contained in:
parent
67cea1490d
commit
9f682c9b91
@ -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);
|
||||
|
||||
@ -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
|
||||
```
|
||||
|
||||
|
||||
@ -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 },
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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))
|
||||
|
||||
Binary file not shown.
@ -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);
|
||||
|
||||
@ -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")
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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=1000,D2 边界 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.
Loading…
Reference in New Issue
Block a user