时间限制活动的结构搭建
需求描述: 游戏中存在很多与时间相关的活动与变量,例如每周战斗积分上限、每天胜场数积分奖励、每天奖励投放、每天获取过多物品报警监测。这些都是与时间相关的活动,简单来这些活动中隐藏了需要时间刷新的变量,可能是每天、每周、每月、每年等。
实现方式: 将与时间相关的,需要时间进行刷新的变量进行抽离,建立公共时间刷新变量的修改与存储结构。将同一天、同一周、同一月的判定函数抽离, 作为参数传入,对时间刷新进行判定。此外提供公共的刷新检测接口,实现中提供了每天第一次登录与过零点时刷新两个接口, 需要的活动仅需在对应的接口中添加, 而活动与时间相关的变量已经被抽取为公共部分,因此,添加一个活动仅需添加一个活动类型以及具体的活动内容即可。
图1 时间限制活动的管理结构