新增: - 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 编译通过
24 lines
866 B
C#
24 lines
866 B
C#
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();
|
||
}
|
||
}
|