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

73 lines
3.5 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

CommonActPageManager = {}
local this = CommonActPageManager
local dataList = {}
function this.Initialize()
end
function this.GetData(actType)
if not dataList[actType] then
dataList[actType] = this.InitSingleTypeData(actType)
end
this.UpdateSingleTypeData(actType)
return dataList[actType]
end
function this.InitSingleTypeData(actType)
local singleTypeData = {}
local data = ActivityGiftManager.GetActivityTypeInfo(actType)
local configData = ConfigManager.GetAllConfigsDataByKey(ConfigName.ComposeActivity,"ActivityId",data.activityId)
-- LogPink("Init".." activityId:"..tostring(data.activityId).." value:"..tostring(data.value).." startTime:"..tostring(data.startTime).." endTime:"..tostring(data.endTime))
singleTypeData.activityId = data.activityId
singleTypeData.value = data.value
singleTypeData.startTime = data.startTime
singleTypeData.endTime = data.endTime
singleTypeData.rewards = {}
for i = 1, #configData do
local reward = {}
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
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))
table.insert(singleTypeData.rewards,reward)
end
end
return singleTypeData
end
function this.UpdateSingleTypeData(actType)
local data = ActivityGiftManager.GetActivityTypeInfo(actType)
-- LogPink("Update".." activityId:"..tostring(data.activityId).." value:"..tostring(data.value).." startTime:"..tostring(data.startTime).." endTime:"..tostring(data.endTime))
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
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
end
end
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
end
return CommonActPageManager