前言
现在的有游戏行业发展迅速,大大小小的游戏都会有一个邮件功能,主要用作发放奖励。背包已满时,邮件系统也可以起到一定的存储作用,那么,今天就带大家一步步来看看邮件系统的开发
问题
邮箱系统(MailSystem)
通常,邮箱数据我们不会采用上线服务器主动推送的方式,一是没有不要,二是真的没有必要。
那我们是怎么做的呢?当然是需要的时候向服务器请求了。
那么,什么时候我们需要邮箱数据呢?当然是进入邮箱系统的时候啦。
解决
往往我们是这样子操作的:
1.请求数据
请求打开邮箱界面但界面还未打开时去向服务器请求数据
network.request("getMailData")
当然,如果没有成功,将不会打开邮箱界面;如果服务器返回成功,取到了数据,成功之后需要做两件事:
(1)对界面进行初始化;
(2).邮箱入口红点检测;
if resp.error = 0 then
--请求数据成功
MailSystem.InitData(resp.data)
Event.Brocast("CheckMailReddot",resp.data)--广播通知邮箱入口检测红点
end
2.初始化界面
使用循环列表展示邮件列表,当然,一般情况下这里只能展示邮件列表,查看每封邮件的详情还需要点击改邮件去打开详情。
3.邮件详情界面
用于展示邮件奖励,领取奖励等。领取奖励后也做三件事:
(1)关闭详情界面;
(2)刷新邮件列表;
(3)检测邮件入口红点;
if resp.error = 0 then
--领取邮箱奖励成功
-- 关闭详情界面--TODO
--刷新邮件:将该邮件从邮件数据删除,使用新数据重新显示邮件
MailSystem.InitData(data)
Event.Brocast("CheckMailReddot",data)--广播通知邮箱入口检测红点
end