单机游戏:时间型的View与Controller
作者:互联网
- 倒计时的其实并不多,最多十几个。枚举方式,字符串方式用字典存储一下。
- 倒计时单位:s
-
倒计时回调
-
View
- 注意责任制,UI不负责保存,删除效果等逻辑,只负责显示刷新的逻辑。
- 倒计时开始:UI显示绑定了,才是UI部分的倒计时开始。
- 倒计时中: 一般UI负责实时显示的,所以每秒刷新,当然取决于需求。
- 倒计时结束:UI方面的处理,关闭还是什么
-
Con中
- 每秒刷新的类型
- 倒计时开始:需要保存的可以在这个时候保存,然后游戏中倒计时,离线上线后,如果有倒计时可以计算得到剩余时间继续计算。
- 倒计时中:非每秒刷新的类型,如buff类,结束就结束了。都不需要实时刷新
- 倒计时结束:buff移除等,时间清除。
-
offline和online
- offline:离线,保存离线时间就行了,其他的其实没必要,因为上线后会重新计算。
- online:上线,调用所有保存的时间。有些不仅仅要间隔,还需要计算离线前的剩余时间,如双倍金币加成,上线的离线收益就需要用到这个离线前剩余时间,得到后计算离线的时间中包含多长的双倍收益的时间。
- 时间间隔:online-offline
- 离线前剩余时间: offline-buff保存时间
-
-
大致结构
class{
key;
conCallBack<long>;
viewCallBack<long>;//剩余时间
isConSecCallBack;//是否每秒回调
isViewSecCallBack;//是否每秒回调
}
标签:剩余时间,离线,单机游戏,倒计时,Controller,UI,offline,每秒,View 来源: https://blog.csdn.net/qq_34191439/article/details/100144794