CounterDroneBackend/src/CounterDrone.Core/Services/IConfigService.cs
tian 36ab4fad7b 配置运行时重载 IConfigService + 防御推荐 + 文档更新
新增:
- IConfigService / ConfigService:读写 defaults.json / planner_config.json
- SavePlannerConfig / SaveDefaults / Reload,无需重启 Unity
- PlannerConfigReloaded 事件 → ScenarioManager 自动重建 planner
- SimulationEngine.UpdatePlanner / ScenarioService.UpdatePlanner
- SimulationRunner.ReloadPlanner 桥接
- DefenseRecommendation / RecommendOption 返回类型
- IScenarioService.GetDefenseRecommendation(配置阶段生成最佳抛撒参数)
- ConfigServiceTests 5 个测试 + DefenseRecommendationTests 3 个测试

修复:
- 云团间距半径基准不一致(间距用 R30、穿越用 R27 → 统一用 effectiveRadius)
- 消除硬编码 30f(DefensePlanner + GaussianPuffDispersion 读 Phase2Duration)
- TryGenerateFireEvents 复用 ComputeEffectiveRadius,消除重复计算
- 概率计算间距加重叠系数
- DatabaseManager 不再 DROP SimulationReport(保留历史报告)
- 清理迁移代码(MetaEntry / 旧表 DROP / 版本检查)

文档:
- 对接文档 V2.1:加 IConfigService API + 配置重载用法 + 修正 DLL 更新说明
- 实施跟踪 V1.8:8.2.1 更新 + 新增 8.2.3/8.2.4 + M14 里程碑
- 270 测试通过,Unity 编译通过
2026-06-25 22:10:22 +08:00

24 lines
866 B
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using CounterDrone.Core.Algorithms;
namespace CounterDrone.Core.Services
{
/// <summary>配置服务 — 读写 defaults.json / planner_config.json支持运行时重载</summary>
public interface IConfigService
{
/// <summary>读取 planner 配置 JSON 原文</summary>
string GetPlannerConfigJson();
/// <summary>保存 planner 配置 JSON 并立即重载</summary>
void SavePlannerConfig(string json);
/// <summary>读取 defaults.json 原文</summary>
string GetDefaultsJson();
/// <summary>保存 defaults.json 并重载种子数据到数据库InsertOrReplace 覆盖同 Id 记录)</summary>
void SaveDefaults(string json);
/// <summary>重新从磁盘加载配置(前端直接改文件后调此方法通知后端刷新)</summary>
void Reload();
}
}