Skip to content

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/ 已经实现。

Clone this wiki locally