GameFramework 开发脚手架之 Config全局配置

273 阅读1分钟

项目 github地址

打开项目选GameLauncher场景,直接启动游戏。我用的是 Unity 2021.3.6f1 版本。但应该是2017之后的都支持,没有实测过。

参考

GameFramework框架详解之 # Config全局配置

老规矩,先看上面这篇文章。

重构了什么

在原StarForce项目,在业务中使用配置组件加载配置,需要注册事件,和移除事件,还要监控加载的状态。但是业务层其实不应该关注这些细节,业务层只需要在特定目录下新增配置文件,在合适的地方加载配置,然后在业务用到的地方读取就好了。所以这里做了整合,把事件的管理和路径的管理都整合到 ConfigMgr 里面,业务层就剩下 LoadCfg和Get方法,以及判断是否加载完成的 IsOnLoading 状态。

使用

全局配置一般是一些跨业务模块的只读配置,类似应用名,场景Id之类的。

  1. 配置文件的位置在Assets/GameMain/AssetsPackage/Configs/XXX.txt,可自行修改。
  2. 调用 ConfigMgr 的LoadCfg方法加载配置,可以是一个文件,也可以是文件列表。
  3. 文件加载是异步的,开始加载的时候 IsOnLoading 状态为true,完成的时候为false。
  4. 在业务层调用 ConfigMgr 的Get方法获取对应的配置值,这个建议是也封装到ConfigMgr,那业务层只要看下ConfigMgr就知道有哪些配置了。

测试

参考 # GameFramework 二次封装之 启动测试流程,然后把TestCfg的OnEnter 和OnUpdate 方法配置到 ProcedureTest 里面就可以进行测试了。