-
Notifications
You must be signed in to change notification settings - Fork 4
KBE邮件系统怎么设计?
ilvxna edited this page Aug 7, 2018
·
4 revisions
问: 1、邮件怎么样的结构存在玩家身上? 2、离线玩家发系统邮件怎么发?
3、邮件怎么删除?
答: 邮件不需要做到玩家存储属性上,你自己往数据库自定义的表读写即可 对离线玩家发就向表插入一条邮件其中dbid填写玩家的dbid,玩家上线从表load自己所有邮件。
问:
我就是不太想用这种直接操作数据库的方法,还以为有其他的方式解决。 答:
如果做在玩家存储那,势必会一直增加内存。本身游戏里面的邮件就有很多种类,数据库自定义 这样的才是最省的方法。虽然操作起来比较麻烦,封装好方法就行了。 使开发者只面向一个def文件结构类似于entity来操控自定义的数据库表, 当数据库切换至不同的方案时上层不需要关心。
例如,我要有一个表来存放邮件数据,我只要象定义entity那样定义一张def,dbmgr运行的时候自动搞定,然后在baseapp上再来个loadCustomTableData(field = [xxx,yyy,...])的接口,直接加载出来一堆的CustomTableRow实例,然后有需要更新的时候就对某条CustomTableRow.writeToDB()一下
需要创建一条临时新的数据行就可以baseapp.createCustomTableRow( "tablename" ),填充数据后直接writeToDB(),成功后自动设置dbid。 参考: https://github.com/acatadog/EntitySimulator/