FifteenDayGiftManager = {} local this = FifteenDayGiftManager local Data function this.Initialize() this.configData = {} end function this.InitRewardData() local ActData = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.FifteenDayGift) --活动没有开始,数据为预览数据 if not ActData then ActData={} ActData.activityId=6401 ActData.ActState=1 ActData.isPreview=1 local data=ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig,"ActivityId",6401) local missList={} for key, value in pairs(data) do -- table.insert(missList,{missionId=key,State=0,Progress=1}) missList[key]={missionId=key,state=3,progress=10000} end ActData.Progress=0 ActData.mission=missList end if not ActData then return end if #this.configData == 0 then -- LogPink("把奖励表信息存入this.configData") this.configData = ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig,"ActivityId",ActData.activityId) end --赋值 Data = {} Data.activityId = ActData.activityId Data.ActState = ActData.value Data.startTime = ActData.startTime if ActData.isPreview then Data.isPreview=1 end if not Data.rewards then Data.rewards = {} for key, value in pairs(this.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 end 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.InitRewardData() return Data end function this.CheckRedPoint() local time = GetTimeStamp() if Data then for i = 1, #Data.rewards do if Data.rewards[i].State == 0 and Data.rewards[i].Progress <= time then return true end end end return false end --是否全部领取完奖励 function this.IsGetAllReward() local getFinish = true if Data then for i = 1, #Data.rewards do if Data.rewards[i].State == 0 then getFinish = false end end end return getFinish end return FifteenDayGiftManager