欢迎光临散文网 会员登陆 & 注册

马老师游戏后端架构师

2023-08-18 16:23 作者:bili_74890469624  | 我要投稿

上一个项目的协议是自己实现的,因此活动配置的数据结构也使用了协议去约束。活动配置的excel表需要根据协议的定义来生成表结构(由脚本实现),再由策划配置内容。内容配置完成后,由脚本生成为协议所定义的数据结构类型对应的二进制文件(供服务端读取)和json文件(供客户端读取)。
因此,配置的读取只需要在config配置类中注册文件名,服务器启动时,config类会根据注册的文件名依次读取二进制配置文件内容,转为协议定义的数据结构放到内存中。
config类设计为单例,并且提供模板函数find<配置文件名>()用于获取活动配置,在需要的地方,使用config类即可获得。

目前项目是将excel配置表导出为xml文件,封装了TinyXml库作为基类。添加新的配置表时,需要添加新的config单例类继承于基类并注册各个页签数据读取的回调函数。服务器启动时,基类会调用各个config类的初始化函数,读取xml文件到内存中(此内存在结束回调后会释放),再通过回调读取到各个config类中。因此config类中需要定义对应的数据结构类型来接收存放,再提供get()函数来获取配置数据。

以上是对于游戏业务开发、配置读取两个方面在两个项目中的设计实现方


马老师游戏后端架构师的评论 (共 条)

分享到微博请遵守国家法律