单机游戏:时间型的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;//是否每秒回调
}  
上一篇:用PHP驱动的网站进行html5离线缓存


下一篇:php – 将我的cookie数据保存到MySQL数据库?