diff --git a/docs/design/architecture/总体架构设计.md b/docs/design/architecture/总体架构设计.md index 6134d23..954862c 100644 --- a/docs/design/architecture/总体架构设计.md +++ b/docs/design/architecture/总体架构设计.md @@ -373,7 +373,8 @@ CounterDroneBackend_Data/ | MunitionCount | INTEGER | NULLABLE | 挂载弹药数量 | | MuzzleVelocity | REAL | NULLABLE | **NEW** 弹药初速 m/s(地基炮弹用) | | ReleaseAltitude | REAL | NULLABLE | **NEW** 弹药释放高度 m(空基平台用) | -| Cooldown | REAL | DEFAULT 5 | 发射冷却时间 s | +| Cooldown | REAL | DEFAULT 5 | 发射冷却时间 s(同弹种连发间隔) | +| AmmoChangeTime | REAL | DEFAULT 300 | **NEW** 更换弹种所需时间 s(默认 5 分钟) | | // 以下为探测设备专用字段 | | DetectionRadius | REAL | NULLABLE | 探测半径 m | @@ -1364,8 +1365,10 @@ foreach (var droneGroup in threat.DroneGroups) allSolutions.Add(solution); } -// 如果某编队间隔足够大,算法可判定同一组装备复用 -// 如编队B在编队A抵达后10分钟才到,可用同一火力单元 +// 复用判定(不写死"一对一"或"一对多"): +// 同种弹药 → 只需冷却时间(秒级),可直接复用 +// 异种弹药 → 需要 AmmoChangeTime(默认 5 分钟),检查编队间隔是否够 +// 弹药耗尽 → 不可复用 var merged = MergeFireSchedules(allSolutions); engine.SetFireSchedule(merged);