local OnlineReward_Controller = {} local private = {} local EventSystem = require('Event/EventSystem') function OnlineReward_Controller.OnStartup() private.onlineRewardTimeHandle = nil end local function DispatchCountDown() local leftTime = MDL.OnlineReward.GetLeftTime() if leftTime <= 0 then EventSystem.Dispatch(EventID.UI_OnlineReward_Refresh) EventSystem.Dispatch(EventID.UI_WelfareBase_RefreshRedPoint) else OnlineReward_Controller.OnlineRewardCountDown() end end ---设置一个定时器,用来派发事件提醒主界面按钮倒计时和界面倒计时 function OnlineReward_Controller.OnlineRewardCountDown() if private.onlineRewardTimeHandle then TimerUtil.Remove(private.onlineRewardTimeHandle) end local leftTime = MDL.OnlineReward.GetLeftTime() if leftTime > 0 then private.onlineRewardTimeHandle = TimerUtil.Interval(DispatchCountDown, leftTime, 1) end end ---剩余时间为0,可以领奖 function OnlineReward_Controller.IsCanCollect() local leftTime = MDL.OnlineReward.GetLeftTime() return leftTime <= 0 end ---是不是所有奖励都领取完了 function OnlineReward_Controller.IsRewardFinished() local rewardList = MDL.OnlineReward.GetRewardList() if rewardList then for i, v in ipairs(rewardList) do if v == 0 then return false end end else return false end return true end function OnlineReward_Controller.IsShowRedPoint() return not OnlineReward_Controller.IsRewardFinished() and OnlineReward_Controller.IsCanCollect() end function OnlineReward_Controller.OnShutdown() end return OnlineReward_Controller