重构任务
1.把 Game Config 的 json 配置序列化为类,去掉一大堆接口
2.把 Game Launcher 中加载图片的逻辑分离开来
重构前
1.TGEGameConfig 非常大体积,一大堆接口:
skin.json 每扩展一个字段 TGEGameConfig 都要扩展一个方法,例如加一个:
需要加一个方法:
2.TGEGameLauncher 下面有几个加载图片的方法,放在这里有点奇怪:
重构思路
1.skin.json 本身就是一个 json 字典,所以建模,把 json 转换为 model,就不需要每加一个字段就加一个解析的方法了。
2.对于读取图片的接口,由于几乎每个接口都要用到 TGEGameLauncher 的 TGEGameConfig 类,有几个接口要用到 TGELocationsRuntime 和 TGEScenesRuntime 类,所以不能把读取图片的逻辑放在 TGEGameConfig 或者任意一个 runtime 类中,避免各个类知道彼此而耦合,所以最后还是把这段逻辑放在 TGEGameLauncher + Resource 这个 Category 中。
重构后
1.TGEGameConfig 更加清爽:
建模后的 Skin Models:
如果需要加字段,就直接在 Model 中增加,并且在 Mapper 方法中加上字段。扩展较为方便。
2.参加 TGEGameLauncher+Resource,其中读取图片用 TGESandboxHelper 和 TGEImageCache 来读取和缓存。
以后需要增加读取音乐素材的逻辑也可以在这里写。