EnumMetadata +EntityType + ScenarioUnit +AmmunitionSpecId
- GetEnums() 新增 EntityType 枚举(模型管理 UI 区分 Drone/Platform/DetectionEquip) - ScenarioUnit 新增 AmmunitionSpecId 字段(FK → AmmunitionSpec,前端弹药配置用) - 对接文档同步更新 - 262 测试通过,Unity 编译通过
This commit is contained in:
parent
6f83cfb105
commit
fb3c6fd2eb
@ -446,10 +446,9 @@ public ModelInfo Get(string id);
|
||||
|
||||
```csharp
|
||||
var enums = scenario.GetEnums();
|
||||
// enums.DroneTypes → List<EnumItem> { Name="Rotor", ChineseName="旋翼", Value=0 }, ...
|
||||
// enums.EntityTypes, enums.PowerTypes, enums.PlatformTypes, enums.AerosolTypes,
|
||||
// enums.WeatherTypes, enums.WindDirections, enums.SceneTypes,
|
||||
// enums.FormationModes, enums.TriggerModes, enums.ReleaseModes, enums.EquipmentRoles
|
||||
// enums.DroneType, enums.PowerType, enums.PlatformType, enums.AerosolType,
|
||||
// enums.WeatherType, enums.WindDirection, enums.SceneType, enums.FormationMode,
|
||||
// enums.TriggerMode, enums.ReleaseMode, enums.EquipmentRole, enums.EntityType
|
||||
```
|
||||
|
||||
| 枚举 | 成员 = 值 | 中文 |
|
||||
@ -465,6 +464,7 @@ var enums = scenario.GetEnums();
|
||||
| **TriggerMode** | Time=0, Area=1, Manual=2 | 时间触发/区域触发/手动触发 |
|
||||
| **ReleaseMode** | Single=0, Continuous=1, Pulse=2 | 单次齐射/连续释放/脉冲释放 |
|
||||
| **EquipmentRole** | Detection=0, LaunchPlatform=1 | 探测设备/发射平台 |
|
||||
| **EntityType** | Drone=0, Platform=1, DetectionEquip=2, Cloud=3, Munition=4 | 无人机/发射平台/探测设备/云团/弹药 |
|
||||
|
||||
### 6.2 无官方翻译的枚举(前端需自行映射中文)
|
||||
|
||||
@ -473,7 +473,6 @@ var enums = scenario.GetEnums();
|
||||
| **SimulationState** | `Simulation` | Idle=0, Running=1, Paused=2, Stopped=3, Completed=4 | 空闲/运行/暂停/停止/完成 |
|
||||
| **DroneStatus** | `Simulation` | Flying=0, Destroyed=1, ReachedTarget=2, ZoneIntruded=3 | 飞行中/已摧毁/到达目标/侵入管控区 |
|
||||
| **PlatformState** | `Simulation` | Idle=0, FlyingToTarget=1, ReadyToRelease=2 | 空闲/飞向目标/准备投放 |
|
||||
| **EntityType** | `Models` | Drone=0, Platform=1, DetectionEquip=2, Cloud=3, Munition=4 | 无人机/平台/探测设备/云团/弹药 |
|
||||
| **SimEventType** | `Models` | TargetDetected=0, MunitionLaunched=1, CloudGenerated=2, DroneEnteredCloud=3, DroneDestroyed=4, DroneReachedTarget=5, ZoneIntruded=6, WaypointReached=7, SimulationEnd=8, PlanningFailed=9 | 目标发现/弹药发射/云团生成/进入云团/摧毁/到达目标/侵入管控区/到达航点/仿真结束/规划失败 |
|
||||
| **InterceptResult** | `Models` | Success=0, Partial=1, Failed=2 | 成功拦截/部分拦截/拦截失败 |
|
||||
| **DamageStage** | `Models` | Normal=0, EngineAnomaly=1, AttitudeLoss=2, Destroyed=3 | 正常/引擎异常/姿态丧失/摧毁 |
|
||||
@ -568,6 +567,7 @@ public class EnumMetadata
|
||||
public List<EnumItem> TriggerMode { get; set; }
|
||||
public List<EnumItem> ReleaseMode { get; set; }
|
||||
public List<EnumItem> EquipmentRole { get; set; }
|
||||
public List<EnumItem> EntityType { get; set; }
|
||||
}
|
||||
```
|
||||
|
||||
@ -685,6 +685,7 @@ ScenarioConfig
|
||||
| `Quantity` | int | 1 | 数量 |
|
||||
| `PositionX/Y/Z` | double | 0 | 部署位置(Y=高度,米) |
|
||||
| `AerosolType` | int? | null | 挂载弹药类型(0/1/2) |
|
||||
| `AmmunitionSpecId` | string | "" | FK → AmmunitionSpec(挂载的弹药规格,前端配置用) |
|
||||
| `MunitionCount` | int? | null | 弹药数量 |
|
||||
| `WaveId` | string | "" | 关联批次 |
|
||||
| `Description` | string | "" | 备注 |
|
||||
|
||||
@ -34,6 +34,9 @@ namespace CounterDrone.Core.Models
|
||||
|
||||
public int? AerosolType { get; set; }
|
||||
|
||||
/// <summary>外键 → AmmunitionSpec(挂载的弹药规格,前端配置用)</summary>
|
||||
public string AmmunitionSpecId { get; set; } = string.Empty;
|
||||
|
||||
public int? MunitionCount { get; set; }
|
||||
|
||||
public int Source { get; set; } = (int)ConfigSource.Manual;
|
||||
|
||||
@ -14,7 +14,6 @@ namespace CounterDrone.Core.Services
|
||||
public class EnumMetadata
|
||||
{
|
||||
public List<EnumItem> DroneType { get; set; } = new();
|
||||
public List<EnumItem> EntityType { get; set; } = new();
|
||||
public List<EnumItem> PowerType { get; set; } = new();
|
||||
public List<EnumItem> PlatformType { get; set; } = new();
|
||||
public List<EnumItem> AerosolType { get; set; } = new();
|
||||
@ -25,5 +24,6 @@ namespace CounterDrone.Core.Services
|
||||
public List<EnumItem> TriggerMode { get; set; } = new();
|
||||
public List<EnumItem> ReleaseMode { get; set; } = new();
|
||||
public List<EnumItem> EquipmentRole { get; set; } = new();
|
||||
public List<EnumItem> EntityType { get; set; } = new();
|
||||
}
|
||||
}
|
||||
|
||||
@ -235,7 +235,6 @@ namespace CounterDrone.Core.Services
|
||||
return new EnumMetadata
|
||||
{
|
||||
DroneType = EnumToList<Models.DroneType>(TranslateDrone),
|
||||
EntityType = EnumToList<Models.EntityType>(TranslateEntityType),
|
||||
PowerType = EnumToList<Models.PowerType>(TranslatePower),
|
||||
PlatformType = EnumToList<Models.PlatformType>(TranslatePlatform),
|
||||
AerosolType = EnumToList<Models.AerosolType>(TranslateAerosol),
|
||||
@ -246,6 +245,7 @@ namespace CounterDrone.Core.Services
|
||||
TriggerMode = EnumToList<Models.TriggerMode>(TranslateTrigger),
|
||||
ReleaseMode = EnumToList<Models.ReleaseMode>(TranslateRelease),
|
||||
EquipmentRole = EnumToList<Models.EquipmentRole>(TranslateEquipmentRole),
|
||||
EntityType = EnumToList<Models.EntityType>(TranslateEntityType),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user