配置模块 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

  1. 修改源表或 ScriptableObject。
  2. 执行现有生成命令,确认 .bytes 和生成代码时间更新。
  3. 检查枚举兼容性及旧客户端反序列化。
  4. 启动 Unity,确认 Installer 日志与配置摘要。
  5. 对 Login、Lobby、Battle 跑最小流程。

版本策略

  • 协议字段只追加,不复用旧字段编号。
  • 配置 ID 不改含义,删除时保留兼容映射。
  • 发布前记录表版本、生成时间和 Application.version。