配置模块 private
配置模块
配置流水线
Excel/策划表 -> Editor 生成器/二进制
-> Assets/Resources_moved/GConfig/*.bytes
-> AssetManager.GetAsset<T>
-> Zenject FromInstance 注入
关键类型
- Assets/Code/Core/Database/ConfigManager.cs:读取与缓存。
- Assets/Code/Core/Database/Cfg.cs:生成配置访问入口。
- Assets/Code/Game/GConfig/GameSettings.cs:日志和运行时开关。
- Assets/Code/Game/GConfig/NetworkSettings.cs:网络参数。
- Assets/Code/Game/Network/ServerCfg.cs:服务器列表和当前选择。
读取代码
var network = AMF.AssetManager.Instance.GetAsset<NetworkSettings>(
"GConfig/NetworkSettings", AMF.ASSETTYPE.TEXT);
Container.Bind<INetworkSettings>()
.To<NetworkSettings>().FromInstance(network).AsSingle();
业务系统不要直接读 Excel,否则客户端和服务端会出现版本/默认值分叉。
修改 SOP
- 修改源表或 ScriptableObject。
- 执行现有生成命令,确认 .bytes 和生成代码时间更新。
- 检查枚举兼容性及旧客户端反序列化。
- 启动 Unity,确认 Installer 日志与配置摘要。
- 对 Login、Lobby、Battle 跑最小流程。
版本策略
- 协议字段只追加,不复用旧字段编号。
- 配置 ID 不改含义,删除时保留兼容映射。
- 发布前记录表版本、生成时间和 Application.version。