miduo_client/Assets/ManagedResources/~Lua/Modules/FuXingGaoZhao/FuXingGaoZhaoManager.lua

79 lines
2.8 KiB
Lua
Raw Normal View History

2021-04-20 13:58:00 +08:00
FuXingGaoZhaoManager = {}
2021-03-29 09:52:53 +08:00
local this = FuXingGaoZhaoManager
local Data = {}
2021-05-27 14:09:39 +08:00
local timeData = string.split(ConfigManager.GetConfigDataByKey(ConfigName.SpecialConfig,"Id",109).Value,"#")
2021-03-29 09:52:53 +08:00
function this.Initialize()
end
function this.InitRewardData()
local ActData = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.FuXingGaoZhao)
2021-03-30 16:24:28 +08:00
if not ActData then return end
2021-03-29 09:52:53 +08:00
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
2021-05-28 10:33:53 +08:00
-- LogError("fuxinggaozhao:"..tostring(ActData.value))
2021-03-30 16:24:28 +08:00
Data.startTime = ActData.startTime
2021-03-29 09:52:53 +08:00
Data.rewards = {}
2021-03-30 10:27:18 +08:00
-- LogYellow("表数据数量:"..tostring(#configData))
2021-03-29 09:52:53 +08:00
for key, value in pairs(configData) do
local sData = {}
sData.Id = value.Id
2021-03-30 10:27:18 +08:00
sData.Reward = {value.Reward[1][1],value.Reward[1][2]}
2021-03-29 09:52:53 +08:00
sData.Sort = value.Sort
2021-03-30 10:27:18 +08:00
sData.missionId = 0
2021-03-29 09:52:53 +08:00
sData.State = 0
sData.Progress = 0
2021-03-30 10:27:18 +08:00
Data.rewards[key] = sData
2021-03-29 09:52:53 +08:00
end
this.UpdataRewardData()
end
function this.UpdataRewardData()
local ActData = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.FuXingGaoZhao)
2021-03-30 16:24:28 +08:00
if not ActData then return end
2021-03-29 09:52:53 +08:00
Data.activityId = ActData.activityId
Data.ActState = ActData.value
2021-03-30 16:55:45 +08:00
-- LogPink("礼包状态:"..tostring(ActData.value))
2021-03-30 16:24:28 +08:00
Data.startTime = ActData.startTime
table.sort(ActData.mission, function(a, b)
return a.missionId < b.missionId
end)
2021-03-29 09:52:53 +08:00
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))
2021-03-29 09:52:53 +08:00
Data.rewards[key].missionId = value.missionId
Data.rewards[key].State = value.state
Data.rewards[key].Progress = value.progress
end
end
2021-03-30 10:27:18 +08:00
end
function this.GetData()
this.UpdataRewardData()
return Data
end
function this.CheckRedPoint()
this.InitRewardData()
2021-05-27 14:09:39 +08:00
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
2021-03-30 16:24:28 +08:00
for i = 1, #Data.rewards do
if Data.rewards[i].State == 0 and Data.rewards[i].Progress <= GetTimeStamp() then
2021-05-28 10:33:53 +08:00
-- LogBlue("Return true")
2021-03-30 10:27:18 +08:00
return true
end
end
2021-03-29 09:52:53 +08:00
end
2021-05-28 10:33:53 +08:00
-- LogBlue("Return false")
2021-03-30 10:27:18 +08:00
return false
2021-03-29 09:52:53 +08:00
end
return FuXingGaoZhaoManager