miduo_client/Assets/ManagedResources/~Lua/Modules/FifteenDayGift/FifteenDayGiftManager.lua

95 lines
2.8 KiB
Lua

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