diff --git a/docs/对接文档_Unity前端.md b/docs/对接文档_Unity前端.md index 60eefec..d4475d8 100644 --- a/docs/对接文档_Unity前端.md +++ b/docs/对接文档_Unity前端.md @@ -795,6 +795,9 @@ ScenarioConfig | `RadarRange` | double | 雷达探测距离 m(0=无) | | `EORange` | double | 光电探测距离 m | | `IRRange` | double | 红外探测距离 m | +| `HasRadar` | bool | 是否含雷达探测能力(由 RadarRange>0 派生) | +| `HasEO` | bool | 是否含光电探测能力(由 EORange>0 派生) | +| `HasIR` | bool | 是否含红外探测能力(由 IRRange>0 派生) | | `Accuracy` | double | 探测精度(位置误差 m) | | `MinElevation` | double? | 最小仰角 | | `MaxElevation` | double? | 最大仰角 | diff --git a/src/CounterDrone.Core/DefaultData.cs b/src/CounterDrone.Core/DefaultData.cs index ac2a3e6..5011636 100644 --- a/src/CounterDrone.Core/DefaultData.cs +++ b/src/CounterDrone.Core/DefaultData.cs @@ -69,6 +69,14 @@ namespace CounterDrone.Core throw new InvalidOperationException($"默认数据缺少 environments: {source}"); if (data.Sensors == null) data.Sensors = new(); + + // 由 Range 字段派生 HasRadar/HasEO/HasIR(JSON 可能未显式设置) + foreach (var s in data.Sensors) + { + s.HasRadar = s.RadarRange > 0; + s.HasEO = s.EORange > 0; + s.HasIR = s.IRRange > 0; + } } } } diff --git a/src/CounterDrone.Core/Models/SensorSpec.cs b/src/CounterDrone.Core/Models/SensorSpec.cs index 9f3b5a6..6f71e3f 100644 --- a/src/CounterDrone.Core/Models/SensorSpec.cs +++ b/src/CounterDrone.Core/Models/SensorSpec.cs @@ -13,6 +13,14 @@ namespace CounterDrone.Core.Models public double RadarRange { get; set; } public double EORange { get; set; } public double IRRange { get; set; } + + /// 是否含雷达探测能力 + public bool HasRadar { get; set; } + /// 是否含光电探测能力 + public bool HasEO { get; set; } + /// 是否含红外探测能力 + public bool HasIR { get; set; } + public double Accuracy { get; set; } = 50.0; /// 3D 模型 ID(FK → ModelInfo),Unity 可视化用 diff --git a/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll b/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll index 7fd208b..01df16f 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 7fd208b..01df16f 100644 Binary files a/unity_plugins/CounterDrone.Core.dll and b/unity_plugins/CounterDrone.Core.dll differ