diff --git a/src/CounterDrone.Core/Algorithms/AlgorithmTypes.cs b/src/CounterDrone.Core/Algorithms/AlgorithmTypes.cs
index dd89239..4d63de8 100644
--- a/src/CounterDrone.Core/Algorithms/AlgorithmTypes.cs
+++ b/src/CounterDrone.Core/Algorithms/AlgorithmTypes.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Collections.Generic;
using CounterDrone.Core;
using CounterDrone.Core.Models;
@@ -88,12 +88,6 @@ namespace CounterDrone.Core.Algorithms
}
}
- /// 三维向量(纯 C#,不依赖 UnityEngine)
- public struct Vector3
- {
- public float X, Y, Z;
- public Vector3(float x, float y, float z) { X = x; Y = y; Z = z; }
- }
/// 粒子渲染参数
public class ParticleParams
@@ -137,25 +131,6 @@ namespace CounterDrone.Core.Algorithms
public List FireEvents { get; set; } = new();
}
- /// 探测源(独立探测设备或火力单元自带探测的统一表达)。
- /// planner 基于探测源估算威胁的最早发现点,而非上帝视角的航路起点。
- public class DetectionSource
- {
- public Vector3 Position { get; set; }
- /// 雷达探测距离 m(不受能见度影响)
- public float RadarRange { get; set; }
- /// 光电探测距离 m(受 Visibility 衰减)
- public float EORange { get; set; }
- /// 红外探测距离 m(不受能见度影响)
- public float IRRange { get; set; }
- /// 探测精度 m(位置误差,影响抛撒散布范围)
- public float Accuracy { get; set; }
- public float MinElevation { get; set; } = float.MaxValue;
- public float MaxElevation { get; set; } = float.MaxValue;
- public float MinDetectAlt { get; set; } = float.MaxValue;
- public float MaxDetectAlt { get; set; } = float.MaxValue;
- public string? ModelId { get; set; }
- }
/// 规划方案
public class DefensePlan
diff --git a/src/CounterDrone.Core/Algorithms/DetectionSource.cs b/src/CounterDrone.Core/Algorithms/DetectionSource.cs
new file mode 100644
index 0000000..9364398
--- /dev/null
+++ b/src/CounterDrone.Core/Algorithms/DetectionSource.cs
@@ -0,0 +1,17 @@
+namespace CounterDrone.Core.Algorithms
+{
+ /// 探测源(独立探测设备或火力单元自带探测能力)
+ public class DetectionSource
+ {
+ public Vector3 Position { get; set; }
+ public float RadarRange { get; set; }
+ public float EORange { get; set; }
+ public float IRRange { get; set; }
+ public float Accuracy { get; set; }
+ public float MinElevation { get; set; } = float.MaxValue;
+ public float MaxElevation { get; set; } = float.MaxValue;
+ public float MinDetectAlt { get; set; } = float.MaxValue;
+ public float MaxDetectAlt { get; set; } = float.MaxValue;
+ public string? ModelId { get; set; }
+ }
+}
diff --git a/src/CounterDrone.Core/Algorithms/Vector3.cs b/src/CounterDrone.Core/Algorithms/Vector3.cs
new file mode 100644
index 0000000..5c71c83
--- /dev/null
+++ b/src/CounterDrone.Core/Algorithms/Vector3.cs
@@ -0,0 +1,9 @@
+namespace CounterDrone.Core.Algorithms
+{
+ /// 三维向量(纯 C#,不依赖 UnityEngine)
+ public struct Vector3
+ {
+ public float X, Y, Z;
+ public Vector3(float x, float y, float z) { X = x; Y = y; Z = z; }
+ }
+}
diff --git a/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll b/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll
index d65b7bc..5d9cfa4 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 d65b7bc..5d9cfa4 100644
Binary files a/unity_plugins/CounterDrone.Core.dll and b/unity_plugins/CounterDrone.Core.dll differ