--[[ 国服公测领二测福利,一次性界面以后要删掉 ]] local TestWelfare_Model = {} local private = {} local EventSystem = require('Event/EventSystem') local TestWelfareGetData = {2, 3, 7} function TestWelfare_Model.OnStartup() private.HasClaimed = false -- 是否已领 private.ClaimTime = 0 -- 领取时间 private.LoginDay = 0 -- 登陆天数 private.Fair1v1Dan = 0 -- 1v1段位 private.Fair3v3Dan = 0 -- 3v3段位 private.EndTimer = 0 -- 领取奖励后界面展示结束时间 end function TestWelfare_Model.GetTestLoginDay() return private.LoginDay end function TestWelfare_Model.GetHasClaimed() return private.HasClaimed end function TestWelfare_Model.CheckIsShowEntry() if private.HasClaimed then if private.EndTimer <= 0 and private.ClaimTime > 0 then local curDate = UTL.Time.OsDateOriginal("*t", private.ClaimTime) local OSTimeTab = {year = curDate.year, month = curDate.month, day = curDate.day, hour = 5, min = 0, sec = 0} private.EndTimer = os.time(OSTimeTab) + UTL.Time.TotalSecondsOneDay end return private.EndTimer > UTL.Time.GetServerTimestamp() else return TestWelfare_Model.IsShowTestWelfareRedPoint() end end function TestWelfare_Model.GetFairLevel() return private.Fair1v1Dan, private.Fair3v3Dan end function TestWelfare_Model.IsShowTestWelfareRedPoint() if not private.HasClaimed and MDL.Unlock.IsUnlock(MDL.Unlock.FunctionType.TestWelfare2) then for i, v in ipairs(TestWelfareGetData) do if private.LoginDay >= v then return true end end -- 1是可领取,0是不可领取 if private.Fair1v1Dan == 1 or private.Fair3v3Dan == 1 then return true end end return false end function TestWelfare_Model.SyncTestWelfareInfo(msgResp) if msgResp then private.HasClaimed = msgResp.HasClaimed private.Fair1v1Dan = msgResp.Fair1v1Dan private.Fair3v3Dan = msgResp.Fair3v3Dan if msgResp.LoginDay and msgResp.LoginDay > 0 then private.LoginDay = msgResp.LoginDay end if msgResp.ClaimTime and msgResp.ClaimTime > 0 then private.ClaimTime = msgResp.ClaimTime end end EventSystem.Dispatch(EventID.UI_TestWelfare_GetRewardCloseView) end return TestWelfare_Model