赛高游戏引擎重构(二)Game Config

重构任务

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 来读取和缓存。
以后需要增加读取音乐素材的逻辑也可以在这里写。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值