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