配置系统 private

配置系统

回答“Excel 如何生成代码和数据、运行时从哪里加载、改表不生效时查什么”。

返回技术文档目录

9. 配置系统

flowchart LR
    A[策划 Excel] --> B[ConfigOption / Config_tool]
    B --> C[Cfg*.cs]
    B --> D[客户端 bytes / 服务端 CSV]
    C --> E[客户端编译]
    D --> F[Resources_moved/Database]
    D --> G[服务端 Configs]
    E --> H[ConfigManager]
    F --> H
    G --> I[ConfigTable]

客户端菜单:

  • Starlit/ConfigOption/GenerateAll...:选择 Excel 根目录和语言。
  • Starlit/ConfigOption/GenerateAll2Game:从 ConfigRootDir 顶层批量读取 xlsx。

生成器先写 GenDatabase,再把代码复制到 Assets/Code/Core/Database/Class,数据复制到 Assets/Resources_moved/Database,成功后删除临时目录。Cfg*.cs 是自动生成文件,扩展逻辑放在 Cfg*Ex.cs partial 类中。

ConfigManager.Initialize() 注册类型,并用 batchLoad 区分首批与按需加载。LoadAllConfig() 并行调用首批类型的静态 Load;生成类用 BinaryReader/MessageSerializer 反序列化到静态索引。

加载路径优先级:

  1. Application.persistentDataPath/StreamingAssets/Database,下载或热更配置。
  2. Application.dataPath/Resources_moved/Database,包内后备。

改了工程 bytes 但不生效时,先检查 persistentDataPath 是否有旧覆盖文件。

正确改表流程:改源 Excel -> 保持 Key/类型正确 -> 运行生成器 -> 检查代码与数据产物 -> 同步服务端 -> 处理本地旧热更文件 -> 双端验证。


上一篇:刷怪、触发器、AI 与掉落 下一篇:本地隔离环境、联调与排错