FuXingGaoZhaoManager = {} local this = FuXingGaoZhaoManager local Data = {} local timeData = string.split(ConfigManager.GetConfigDataByKey(ConfigName.SpecialConfig,"Id",109).Value,"#") function this.Initialize() end function this.InitRewardData() local ActData = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.FuXingGaoZhao) if not ActData then return end local configData = ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig,"ActivityId",ActData.activityId) local actSingleData = ConfigManager.GetConfigDataByKey(ConfigName.GlobalActivity,"Id",ActData.activityId) Data.activityId = ActData.activityId Data.ActState = ActData.value -- LogError("fuxinggaozhao:"..tostring(ActData.value)) Data.startTime = ActData.startTime Data.rewards = {} -- LogYellow("表数据数量:"..tostring(#configData)) for key, value in pairs(configData) do local sData = {} sData.Id = value.Id sData.Reward = {value.Reward[1][1],value.Reward[1][2]} sData.Sort = value.Sort sData.missionId = 0 sData.State = 0 sData.Progress = 0 Data.rewards[key] = sData end this.UpdataRewardData() end function this.UpdataRewardData() local ActData = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.FuXingGaoZhao) if not ActData then return end Data.activityId = ActData.activityId Data.ActState = ActData.value -- LogPink("礼包状态:"..tostring(ActData.value)) Data.startTime = ActData.startTime table.sort(ActData.mission, function(a, b) return a.missionId < b.missionId end) for key, value in pairs(ActData.mission) do if Data.rewards[key] then -- --LogGreen("key:"..tostring(key).." "..tostring(value.missionId).." "..tostring(value.state).." "..tostring(value.progress)) Data.rewards[key].missionId = value.missionId Data.rewards[key].State = value.state Data.rewards[key].Progress = value.progress end end end function this.GetData() this.UpdataRewardData() return Data end function this.CheckRedPoint() this.InitRewardData() if Data.ActState == 0 then local time = Data.startTime + tonumber(timeData[1])*86400 - GetTimeStamp() local curDay = math.ceil(time/86400) local str = PlayerPrefs.GetInt(PlayerManager.uid.."FuXingGaoZhao"..curDay) if str == 0 then return true end elseif Data.ActState == 1 then for i = 1, #Data.rewards do if Data.rewards[i].State == 0 and Data.rewards[i].Progress <= GetTimeStamp() then -- LogBlue("Return true") return true end end end -- LogBlue("Return false") return false end return FuXingGaoZhaoManager