diff --git a/docs/对接文档_Unity前端.md b/docs/对接文档_Unity前端.md index 52d63e5..fcedf12 100644 --- a/docs/对接文档_Unity前端.md +++ b/docs/对接文档_Unity前端.md @@ -446,10 +446,9 @@ public ModelInfo Get(string id); ```csharp var enums = scenario.GetEnums(); -// enums.DroneTypes → List { 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 TriggerMode { get; set; } public List ReleaseMode { get; set; } public List EquipmentRole { get; set; } + public List 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 | "" | 备注 | diff --git a/src/CounterDrone.Core/Models/ScenarioUnit.cs b/src/CounterDrone.Core/Models/ScenarioUnit.cs index 39e8dba..ba7a46c 100644 --- a/src/CounterDrone.Core/Models/ScenarioUnit.cs +++ b/src/CounterDrone.Core/Models/ScenarioUnit.cs @@ -34,6 +34,9 @@ namespace CounterDrone.Core.Models public int? AerosolType { get; set; } + /// 外键 → AmmunitionSpec(挂载的弹药规格,前端配置用) + public string AmmunitionSpecId { get; set; } = string.Empty; + public int? MunitionCount { get; set; } public int Source { get; set; } = (int)ConfigSource.Manual; diff --git a/src/CounterDrone.Core/Services/EnumMetadata.cs b/src/CounterDrone.Core/Services/EnumMetadata.cs index c48aec1..18c56bc 100644 --- a/src/CounterDrone.Core/Services/EnumMetadata.cs +++ b/src/CounterDrone.Core/Services/EnumMetadata.cs @@ -14,7 +14,6 @@ namespace CounterDrone.Core.Services public class EnumMetadata { public List DroneType { get; set; } = new(); - public List EntityType { get; set; } = new(); public List PowerType { get; set; } = new(); public List PlatformType { get; set; } = new(); public List AerosolType { get; set; } = new(); @@ -25,5 +24,6 @@ namespace CounterDrone.Core.Services public List TriggerMode { get; set; } = new(); public List ReleaseMode { get; set; } = new(); public List EquipmentRole { get; set; } = new(); + public List EntityType { get; set; } = new(); } } diff --git a/src/CounterDrone.Core/Services/ScenarioService.cs b/src/CounterDrone.Core/Services/ScenarioService.cs index e7f4843..130af8b 100644 --- a/src/CounterDrone.Core/Services/ScenarioService.cs +++ b/src/CounterDrone.Core/Services/ScenarioService.cs @@ -235,7 +235,6 @@ namespace CounterDrone.Core.Services return new EnumMetadata { DroneType = EnumToList(TranslateDrone), - EntityType = EnumToList(TranslateEntityType), PowerType = EnumToList(TranslatePower), PlatformType = EnumToList(TranslatePlatform), AerosolType = EnumToList(TranslateAerosol), @@ -246,6 +245,7 @@ namespace CounterDrone.Core.Services TriggerMode = EnumToList(TranslateTrigger), ReleaseMode = EnumToList(TranslateRelease), EquipmentRole = EnumToList(TranslateEquipmentRole), + EntityType = EnumToList(TranslateEntityType), }; } diff --git a/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll b/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll index d486f30..33e8949 100644 Binary files a/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll and b/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll differ diff --git a/unity_plugins/CounterDrone.Core.dll b/unity_plugins/CounterDrone.Core.dll index d486f30..33e8949 100644 Binary files a/unity_plugins/CounterDrone.Core.dll and b/unity_plugins/CounterDrone.Core.dll differ