定位和职责
定位
- 上游依赖:无(最早被初始化的核心单例,仅依赖基础文件系统读取能力)。
- 下游服务:日志系统 (
Logger)、渲染后端 (Renderer)、输入系统 (InputSystem)、音频系统 (AudioSystem)等几乎所有子系统都依赖它获取运行时参数。
职责
- 统一配置源管理:加载、合并、验证来自不同来源的配置(如默认配置、用户自定义配置、命令行参数)。
- 结构化数据访问:将扁平或嵌套的 JSON 数据转换为类型安全的 C++ 对象或直接提供查询接口。
- 配置持久化:支持运行时修改配置并保存回磁盘,采用“节流自动保存 + 关闭强制保存”的混合策略。
- 热重载支持 (Hot-Reload):在开发模式下,监听配置文件变化并通知相关子系统重新应用配置。
- 默认值fallback机制:当配置项缺失时,提供合理的默认值,防止引擎崩溃。
2026年4月18日大约 5 分钟
