miduo_client/Assets/ManagedResources/~Lua/Modules/NewActivity/CommonActPageManager.lua

73 lines
3.5 KiB
Lua
Raw Normal View History

2021-04-16 14:58:40 +08:00
CommonActPageManager = {}
local this = CommonActPageManager
2021-04-16 16:21:34 +08:00
local dataList = {}
2021-04-16 14:58:40 +08:00
function this.Initialize()
end
function this.GetData(actType)
2021-04-16 16:21:34 +08:00
if not dataList[actType] then
dataList[actType] = this.InitSingleTypeData(actType)
2021-04-16 14:58:40 +08:00
end
2021-04-16 16:21:34 +08:00
this.UpdateSingleTypeData(actType)
2021-04-17 14:01:12 +08:00
return dataList[actType]
2021-04-16 14:58:40 +08:00
end
2021-04-16 16:21:34 +08:00
function this.InitSingleTypeData(actType)
local singleTypeData = {}
2021-04-17 14:01:12 +08:00
local data = ActivityGiftManager.GetActivityTypeInfo(actType)
2021-04-16 16:21:34 +08:00
local configData = ConfigManager.GetAllConfigsDataByKey(ConfigName.ComposeActivity,"ActivityId",data.activityId)
2021-04-19 19:44:54 +08:00
-- LogPink("Init".." activityId:"..tostring(data.activityId).." value:"..tostring(data.value).." startTime:"..tostring(data.startTime).." endTime:"..tostring(data.endTime))
2021-04-16 16:21:34 +08:00
singleTypeData.activityId = data.activityId
singleTypeData.value = data.value
singleTypeData.startTime = data.startTime
singleTypeData.endTime = data.endTime
singleTypeData.rewards = {}
2021-04-17 14:01:12 +08:00
for i = 1, #configData do
2021-04-16 16:21:34 +08:00
local reward = {}
2021-04-17 14:01:12 +08:00
if data.mission[i] then
reward.missionId = data.mission[i].missionId or 0
reward.progress = data.mission[i].progress or 0
reward.state = data.mission[i].state or 0
reward.needItems = configData[i].NeedItems
reward.count = configData[i].Count
reward.composeType = configData[i].ComposeType
2021-04-19 19:44:54 +08:00
reward.selectId = 0
-- LogGreen("i:"..tostring(i).." missionId:"..tostring(reward.missionId).." progress:"..tostring(reward.progress).." state:"..tostring(reward.state).." NeedItems:"..tostring(configData[i].NeedItems).." Count:"..tostring(configData[i].Count).." ComposeType:"..tostring(configData[i].ComposeType))
2021-04-17 14:01:12 +08:00
table.insert(singleTypeData.rewards,reward)
end
2021-04-16 16:21:34 +08:00
end
return singleTypeData
end
function this.UpdateSingleTypeData(actType)
2021-04-17 14:01:12 +08:00
local data = ActivityGiftManager.GetActivityTypeInfo(actType)
2021-04-19 19:44:54 +08:00
-- LogPink("Update".." activityId:"..tostring(data.activityId).." value:"..tostring(data.value).." startTime:"..tostring(data.startTime).." endTime:"..tostring(data.endTime))
2021-04-16 16:21:34 +08:00
dataList[actType].activityId = data.activityId--应该无变化
dataList[actType].value = data.value
dataList[actType].startTime = data.startTime--应该无变化
dataList[actType].endTime = data.endTime--应该无变化
for i = 1, #data.mission do
2021-04-19 19:44:54 +08:00
for j = 1, #dataList[actType].rewards do
if data.mission[i].missionId == dataList[actType].rewards[j].missionId then
dataList[actType].rewards[j].missionId = data.mission[i].missionId or 0--应该无变化
dataList[actType].rewards[j].progress = data.mission[i].progress or 0
dataList[actType].rewards[j].state = data.mission[i].state or 0
dataList[actType].rewards[j].selectId = 0
-- LogBlue("i:"..tostring(i).." missionId:"..tostring(dataList[actType].rewards[i].missionId).." progress:"..tostring(dataList[actType].rewards[i].progress).." state:"..tostring(dataList[actType].rewards[i].state))
end
2021-04-17 14:01:12 +08:00
end
2021-04-16 16:21:34 +08:00
end
2021-04-19 19:44:54 +08:00
table.sort(dataList[actType].rewards,function (a,b)
if a.progress == b.progress then
return a.missionId < b.missionId
else
return a.progress > b.progress
end
end)
-- for i = 1, #dataList[actType].rewards do
-- LogGreen("Id:"..tostring(dataList[actType].rewards[i].missionId).." 装备Id"..tostring(dataList[actType].rewards[i].needItems[1]))
-- end
2021-04-16 14:58:40 +08:00
end
return CommonActPageManager