73 lines
3.5 KiB
Lua
73 lines
3.5 KiB
Lua
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 |