502 lines
24 KiB
Lua
502 lines
24 KiB
Lua
CommonActPageManager = {}
|
||
local this = CommonActPageManager
|
||
local dataList = {}
|
||
this.TaSuiLingXiaoMsg = nil
|
||
this.TaSuiLingXiaoHistoryDmg = 0
|
||
this.DynamicActType = 0
|
||
|
||
function this.Initialize()
|
||
end
|
||
|
||
--初始化活动的特殊数据
|
||
local TypeUpdateFunc = {
|
||
[ActivityTypeDef.YunYouShangRen] = function ()
|
||
local curData = dataList[ActivityTypeDef.YunYouShangRen]
|
||
local configData = ConfigManager.GetAllConfigsDataByKey(ConfigName.ComposeActivity,"ActivityId",curData.activityId)
|
||
for i = 1, #curData.rewards do
|
||
for j = 1, #configData do
|
||
if curData.rewards[i].missionId == configData[j].Id then
|
||
curData.rewards[i].otherData.needItems = configData[j].NeedItems
|
||
curData.rewards[i].otherData.count = configData[j].Count
|
||
curData.rewards[i].otherData.composeType = configData[j].ComposeType
|
||
curData.rewards[i].otherData.selectId = 0
|
||
end
|
||
end
|
||
end
|
||
table.sort(dataList[ActivityTypeDef.YunYouShangRen].rewards,function (a,b)
|
||
if a.progress == 0 and b.progress > 0 then
|
||
return false
|
||
end
|
||
if a.progress > 0 and b.progress == 0 then
|
||
return true
|
||
end
|
||
return a.missionId < b.missionId
|
||
-- if a.progress == b.progress then
|
||
-- else
|
||
-- return a.progress > b.progress
|
||
-- end
|
||
end)
|
||
end,
|
||
[ActivityTypeDef.ContinuityRecharge] = function ()
|
||
this.GetExpertData(3,ActivityTypeDef.ContinuityRecharge)
|
||
end,
|
||
[ActivityTypeDef.UpStarExper] = function ()--进阶达人
|
||
this.GetExpertData(1,ActivityTypeDef.UpStarExper)
|
||
end,
|
||
[ActivityTypeDef.Talisman] = function ()--法宝达人
|
||
this.GetExpertData(1,ActivityTypeDef.Talisman)
|
||
end,
|
||
[ActivityTypeDef.SoulPrint] = function ()--魂印达人
|
||
this.GetExpertData(1,ActivityTypeDef.SoulPrint)
|
||
end,
|
||
[ActivityTypeDef.EquipExper] = function ()--装备达人
|
||
this.GetExpertData(1,ActivityTypeDef.EquipExper)
|
||
end,
|
||
[ActivityTypeDef.EnergyExper] = function ()--体力达人
|
||
this.GetExpertData(2,ActivityTypeDef.EnergyExper)
|
||
end,
|
||
[ActivityTypeDef.FindTreasureExper] = function ()--寻宝达人
|
||
this.GetExpertData(1,ActivityTypeDef.FindTreasureExper)
|
||
end,
|
||
[ActivityTypeDef.ExpeditionExper] = function ()--天宫达人
|
||
this.GetExpertData(1,ActivityTypeDef.ExpeditionExper)
|
||
end,
|
||
[ActivityTypeDef.FastExplore] = function ()--极速达人
|
||
this.GetExpertData(2,ActivityTypeDef.FastExplore)
|
||
end,
|
||
[ActivityTypeDef.GoldExper] = function ()--点金达人
|
||
this.GetExpertData(2,ActivityTypeDef.GoldExper)
|
||
end,
|
||
[ActivityTypeDef.FightExper] = function ()--副本达人
|
||
this.GetExpertData(2,ActivityTypeDef.FightExper)
|
||
end,
|
||
[ActivityTypeDef.AreaExper] = function ()
|
||
this.GetExpertData(2,ActivityTypeDef.AreaExper)
|
||
end,
|
||
[ActivityTypeDef.slhjExper] = function ()--森罗幻境达人
|
||
this.GetExpertData(2,ActivityTypeDef.slhjExper)
|
||
end,
|
||
[ActivityTypeDef.LuckyTurnExper] = function ()--探宝达人
|
||
this.GetExpertData(2,ActivityTypeDef.LuckyTurnExper)
|
||
end,
|
||
[ActivityTypeDef.RecruitExper] = function ()--征募达人
|
||
this.GetExpertData(2,ActivityTypeDef.RecruitExper)
|
||
end,
|
||
[ActivityTypeDef.SecretBoxExper] = function ()--秘宝达人
|
||
this.GetExpertData(2,ActivityTypeDef.SecretBoxExper)
|
||
end,
|
||
[ActivityTypeDef.AccumulativeRechargeExper] = function ()---日累计充值
|
||
local curData = dataList[ActivityTypeDef.AccumulativeRechargeExper]
|
||
local configData = ConfigManager.GetConfigData(ConfigName.GlobalActivity,curData.activityId)
|
||
if configData.ShowArt == FUNCTION_OPEN_TYPE.EXPERT then
|
||
this.GetExpertData(2,ActivityTypeDef.AccumulativeRechargeExper)
|
||
else
|
||
this.GetMissionData(1,ActivityTypeDef.AccumulativeRechargeExper)
|
||
end
|
||
end,
|
||
[ActivityTypeDef.UpLvAct] = function ()---升级限时
|
||
this.GetExpertData(4,ActivityTypeDef.UpLvAct)
|
||
end,
|
||
[ActivityTypeDef.DynamicAct_recharge] = function ()---周累计充值
|
||
this.GetMissionData(1,ActivityTypeDef.DynamicAct_recharge)
|
||
end,
|
||
[ActivityTypeDef.TaSuiLingXiao] = function ()--踏碎凌霄
|
||
local curData = dataList[ActivityTypeDef.TaSuiLingXiao]
|
||
local configData = ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig,"ActivityId",curData.activityId)
|
||
for i = 1, #curData.rewards do
|
||
for j = 1, #configData do
|
||
if curData.rewards[i].missionId == configData[j].Id then
|
||
curData.rewards[i].otherData.Values = configData[j].Values
|
||
curData.rewards[i].otherData.Reward = configData[j].Reward
|
||
curData.rewards[i].otherData.Sort = configData[j].Sort
|
||
end
|
||
end
|
||
end
|
||
|
||
table.sort(curData.rewards,function (a,b)
|
||
if a.state == b.state then
|
||
return a.missionId < b.missionId
|
||
else
|
||
return a.state < b.state
|
||
end
|
||
end)
|
||
end,
|
||
[ActivityTypeDef.DynamicAct] = function ()--主题活动任务
|
||
local curData = dataList[ActivityTypeDef.DynamicAct]
|
||
this.InitTaskData(curData,TaskTypeDef.DynamicActTask,ConfigName.ThemeActivityTaskConfig)
|
||
end,
|
||
[ActivityTypeDef.ChaoFanRuSheng] = function ()--超凡入圣
|
||
local curData = dataList[ActivityTypeDef.ChaoFanRuSheng]
|
||
this.InitMissionDdataUpStar(curData)
|
||
end,
|
||
|
||
[ActivityTypeDef.SurpriseBox] = function ()--惊喜礼盒
|
||
local curData = dataList[ActivityTypeDef.SurpriseBox]
|
||
local configData = ConfigManager.GetAllConfigsDataByKey(ConfigName.SurpriseBoxConfig,"ActivityId",curData.activityId)
|
||
local rechargeConfig = ConfigManager.GetConfig(ConfigName.RechargeCommodityConfig)
|
||
for i = 1, #curData.rewards do
|
||
for j = 1, #configData do
|
||
if curData.rewards[i].missionId == configData[j].Id then
|
||
curData.rewards[i].otherData.PackId = configData[j].PackId
|
||
curData.rewards[i].otherData.BuyDay = configData[j].BuyDay
|
||
curData.rewards[i].otherData.Name = rechargeConfig[configData[j].PackId].Name
|
||
curData.rewards[i].otherData.Reward = rechargeConfig[configData[j].PackId].RewardShow
|
||
curData.rewards[i].otherData.Price = rechargeConfig[configData[j].PackId].Price
|
||
curData.rewards[i].otherData.Warning = configData[j].Warning
|
||
curData.rewards[i].otherData.Rule = configData[j].Rule
|
||
end
|
||
end
|
||
end
|
||
for i = #curData.rewards, 1,-1 do
|
||
if curData.rewards[i].progress == 5 then
|
||
table.remove(curData.rewards,i)
|
||
end
|
||
end
|
||
table.sort(curData.rewards,function (a,b)
|
||
return a.otherData.PackId < b.otherData.PackId
|
||
end)
|
||
end,
|
||
|
||
[ActivityTypeDef.TeHuiShenZhuang] = function ()--特惠神装
|
||
local curData = dataList[ActivityTypeDef.TeHuiShenZhuang]
|
||
local configData = ConfigManager.GetAllConfigsDataByKey(ConfigName.SurpriseBoxConfig,"ActivityId",curData.activityId)
|
||
local rechargeConfig = ConfigManager.GetConfig(ConfigName.RechargeCommodityConfig)
|
||
for i = 1, #curData.rewards do
|
||
for j = 1, #configData do
|
||
if curData.rewards[i].missionId == configData[j].Id then
|
||
curData.rewards[i].otherData.PackId = configData[j].PackId
|
||
curData.rewards[i].otherData.Name = rechargeConfig[configData[j].PackId].Name
|
||
curData.rewards[i].otherData.Reward = rechargeConfig[configData[j].PackId].RewardShow
|
||
curData.rewards[i].otherData.Price = rechargeConfig[configData[j].PackId].Price
|
||
curData.rewards[i].otherData.skinArtId = tonumber(configData[1].Warning)
|
||
curData.rewards[i].otherData.canBuyDay = configData[j].BuyDay - curData.value
|
||
end
|
||
end
|
||
end
|
||
table.sort(curData.rewards,function (a,b)
|
||
return a.missionId < b.missionId
|
||
end)
|
||
end,
|
||
--山河试炼
|
||
[ActivityTypeDef.ShanHeShiLian] = function ()--山河试炼
|
||
local curData = dataList[ActivityTypeDef.ShanHeShiLian]
|
||
local configData = ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig,"ActivityId",curData.activityId)
|
||
for i = 1, #curData.rewards do
|
||
for j = 1, #configData do
|
||
if curData.rewards[i].missionId == configData[j].Id then
|
||
curData.rewards[i].otherData.Values = configData[j].Values
|
||
curData.rewards[i].otherData.Reward = configData[j].Reward
|
||
curData.rewards[i].otherData.Sort = configData[j].Sort
|
||
end
|
||
end
|
||
end
|
||
|
||
table.sort(curData.rewards,function (a,b)
|
||
if a.state == b.state then
|
||
return a.otherData.Sort < b.otherData.Sort
|
||
else
|
||
return a.state < b.state
|
||
end
|
||
end)
|
||
end,
|
||
[ActivityTypeDef.XunBaoMiZong] = function () --寻宝迷踪
|
||
local curData = dataList[ActivityTypeDef.XunBaoMiZong]
|
||
local DiamondBoxContain = ConfigManager.GetConfigDataByKey(ConfigName.LotterySetting,"ActivityId",curData.activityId).DiamondBoxContain[1][1]
|
||
local rewards = ConfigManager.GetAllConfigsDataByKey(ConfigName.LotteryRewardConfig,"Pool",DiamondBoxContain)
|
||
local weightAll = 0
|
||
for i = 1, #rewards do
|
||
weightAll = weightAll + rewards[i].WeightShow
|
||
end
|
||
for i = 1, #rewards do
|
||
local data = {}
|
||
data.Id = rewards[i].Id
|
||
data.Reward = rewards[i].Reward
|
||
data.ItemName = rewards[i].ItemName
|
||
data.WeightShow = string.format("%.2f",rewards[i].WeightShow/weightAll*100).."%" --rewards[i].WeightShow/weightAll*100.."%"
|
||
table.insert(curData.FreelyData,data)
|
||
end
|
||
table.sort(curData.FreelyData,function (a,b)
|
||
return a.Id < b.Id
|
||
end)
|
||
end
|
||
}
|
||
|
||
function this.InitMissionDdataUpStar(curData)
|
||
local actRewardConfigs = ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig,"ActivityId", curData.activityId)
|
||
for i = 1, #curData.rewards do
|
||
for j = 1, #actRewardConfigs do
|
||
if curData.rewards[i].missionId == actRewardConfigs[j].Id then
|
||
curData.rewards[i].state = curData.rewards[i].state
|
||
curData.rewards[i].targetId = actRewardConfigs[j].Values[1][1]
|
||
curData.rewards[i].targetStar = actRewardConfigs[j].Values[1][2]
|
||
curData.rewards[i].targetNum = actRewardConfigs[j].Values[2][1]
|
||
curData.rewards[i].heroShows = {[1] = {curData.rewards[i].targetId,0,nil,curData.rewards[i].targetStar}}
|
||
curData.rewards[i].giftId = actRewardConfigs[j].Values[3][1]
|
||
curData.rewards[i].giftConfig = ConfigManager.GetConfigData(ConfigName.RechargeCommodityConfig,curData.rewards[i].giftId)
|
||
curData.rewards[i].giftShows = curData.rewards[i].giftConfig.RewardShow
|
||
curData.rewards[i].giftData = OperatingManager.GetGiftGoodsInfo(curData.rewards[i].giftConfig.Type,curData.rewards[i].giftId)
|
||
curData.rewards[i].freeShows = actRewardConfigs[j].Reward
|
||
break
|
||
end
|
||
end
|
||
end
|
||
end
|
||
function this.InitTaskData(curData,taskType,configName)
|
||
local allListData = ConfigManager.GetAllConfigsDataByKey(configName, "ActivityId", curData.activityId)
|
||
local allMissionData = TaskManager.GetTypeTaskList(taskType)
|
||
Log("this.DynamicActType:"..this.DynamicActType)
|
||
for i=1,#allListData do
|
||
for j=1,#allMissionData do
|
||
-- LogGreen("this.DynamicActType:"..this.DynamicActType)
|
||
if allListData[i].Id == allMissionData[j].missionId and (this.DynamicActType == 0 or allListData[i].Type == this.DynamicActType) then
|
||
local data = {}
|
||
data.missionId = allMissionData[j].missionId
|
||
data.taskType = taskType
|
||
local strs = string.split(GetLanguageStrById(allListData[i].Show),"#")
|
||
data.progress = allMissionData[j].progress
|
||
data.value = allListData[i].TaskValue[2][1]
|
||
data.state = allMissionData[j].state
|
||
|
||
if data.state == 2 or data.state == 1 then
|
||
data.itemName = string.format("%s(%s/%s)",strs[1],data.value,data.value)
|
||
else
|
||
data.itemName = string.format("%s(%s/%s)",strs[1],(data.progress > data.value and data.value or data.progress),data.value)
|
||
end
|
||
|
||
data.content = strs[2]
|
||
data.shows = {
|
||
[1] = {
|
||
allListData[i].Integral[1][1],
|
||
allListData[i].Integral[1][2]
|
||
},
|
||
}
|
||
data.type = allListData[i].Type
|
||
data.jump = allListData[i].Jump[1]
|
||
-- LogGreen("missionId:"..tostring(data.missionId).." taskType:"..tostring(data.taskType).." itemName:"..tostring(data.itemName))
|
||
table.insert(curData.rewards,data)
|
||
end
|
||
end
|
||
end
|
||
local typeIndex = {
|
||
[0] = 1,
|
||
[1] = 0,
|
||
[2] = 2,
|
||
}
|
||
table.sort(curData.rewards, function(a,b)
|
||
if typeIndex[a.state] == typeIndex[b.state] then
|
||
if a.type == b.type then
|
||
return a.missionId < b.missionId
|
||
else
|
||
return a.type < b.type
|
||
end
|
||
else
|
||
return typeIndex[a.state] < typeIndex[b.state]
|
||
end
|
||
end)
|
||
end
|
||
|
||
function this.GetMissionData(indexType,actType)
|
||
local curData = dataList[actType]
|
||
local actId = ActivityGiftManager.GetActivityIdByType(actType)
|
||
local actRewardConfigs = ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig,"ActivityId", actId)
|
||
for i = 1, #curData.rewards do
|
||
for j = 1, #actRewardConfigs do
|
||
if curData.rewards[i].missionId == actRewardConfigs[j].Id then
|
||
if indexType == 2 then
|
||
curData.rewards[i].progress = curData.rewards[i].progress
|
||
else
|
||
curData.rewards[i].progress = curData.value
|
||
end
|
||
if actType == ActivityTypeDef.DynamicAct_recharge or actType == ActivityTypeDef.AccumulativeRechargeExper then
|
||
curData.rewards[i].value = actRewardConfigs[j].Values[1][1]
|
||
else
|
||
curData.rewards[i].value = actRewardConfigs[j].Values[2][1]
|
||
end
|
||
if curData.rewards[i].state == 1 then
|
||
curData.rewards[i].state = 2
|
||
else
|
||
if curData.rewards[i].progress < curData.rewards[i].value then
|
||
curData.rewards[i].state = 0
|
||
else
|
||
curData.rewards[i].state = 1
|
||
end
|
||
end
|
||
curData.rewards[i].title = string.format("累计充值金额:%s元",curData.rewards[i].value)
|
||
curData.rewards[i].buyInfo = string.format("(%s/%s)",curData.rewards[i].progress,curData.rewards[i].value)
|
||
curData.rewards[i].shows = actRewardConfigs[j].Reward
|
||
curData.rewards[i].jump = actRewardConfigs[j].Jump[1]
|
||
end
|
||
end
|
||
end
|
||
local typeIndex = {
|
||
[0] = 1,
|
||
[1] = 0,
|
||
[2] = 2,
|
||
}
|
||
table.sort(dataList[actType].rewards,function (a,b)
|
||
if typeIndex[a.state] == typeIndex[b.state] then
|
||
return a.missionId < b.missionId
|
||
else
|
||
return typeIndex[a.state] < typeIndex[b.state]
|
||
end
|
||
end)
|
||
end
|
||
|
||
function this.GetExpertData(indexType,actType)
|
||
local curData = dataList[actType]
|
||
local actId = ActivityGiftManager.GetActivityIdByType(actType)
|
||
local actRewardConfigs = ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig,"ActivityId", actId)
|
||
for i = 1, #curData.rewards do
|
||
for j = 1, #actRewardConfigs do
|
||
if curData.rewards[i].missionId == actRewardConfigs[j].Id then
|
||
if indexType == 3 then -- 3 积天豪礼
|
||
curData.rewards[i].otherData.Values = actRewardConfigs[j].Values[1][2]
|
||
curData.rewards[i].otherData.info = ""
|
||
if curData.rewards[i].state == 1 then
|
||
curData.rewards[i].otherData.state = 2
|
||
elseif curData.rewards[i].progress == 1 then
|
||
curData.rewards[i].otherData.state = 0
|
||
else
|
||
curData.rewards[i].otherData.state = 1
|
||
end
|
||
elseif indexType == 4 then --升级限量豪礼
|
||
curData.rewards[i].otherData.Values = actRewardConfigs[j].Values[2][1]
|
||
curData.rewards[i].otherData.info = ""
|
||
if curData.rewards[i].state == 1 then
|
||
curData.rewards[i].otherData.state = 2
|
||
else
|
||
if curData.rewards[i].progress > 0 then
|
||
if PlayerManager.level >= curData.rewards[i].otherData.Values then
|
||
curData.rewards[i].otherData.state = 0
|
||
else
|
||
curData.rewards[i].otherData.state = 1
|
||
end
|
||
else
|
||
curData.rewards[i].otherData.state = 3
|
||
end
|
||
if PlayerManager.level >= curData.rewards[i].otherData.Values then
|
||
curData.rewards[i].otherData.info = string.format("%s/%s",curData.rewards[i].otherData.Values,curData.rewards[i].otherData.Values)
|
||
else
|
||
curData.rewards[i].otherData.info = string.format("%s/%s",PlayerManager.level,curData.rewards[i].otherData.Values)
|
||
end
|
||
end
|
||
if PlayerManager.level >= curData.rewards[i].otherData.Values then
|
||
curData.rewards[i].otherData.info = string.format("%s/%s",curData.rewards[i].otherData.Values,curData.rewards[i].otherData.Values)
|
||
else
|
||
curData.rewards[i].otherData.info = string.format("%s/%s",PlayerManager.level,curData.rewards[i].otherData.Values)
|
||
end
|
||
else --日累计充值 达人
|
||
if actType == ActivityTypeDef.AccumulativeRechargeExper or actType == ActivityTypeDef.DynamicAct_recharge then
|
||
curData.rewards[i].otherData.Values = actRewardConfigs[j].Values[1][1]
|
||
else
|
||
curData.rewards[i].otherData.Values = actRewardConfigs[j].Values[2][1]
|
||
end
|
||
if curData.rewards[i].state == 1 then
|
||
curData.rewards[i].otherData.state = 2
|
||
curData.rewards[i].otherData.info = string.format("%s/%s",curData.rewards[i].otherData.Values,curData.rewards[i].otherData.Values)
|
||
else
|
||
if indexType == 1 then
|
||
if curData.rewards[i].progress < curData.rewards[i].otherData.Values then
|
||
curData.rewards[i].otherData.state = 1
|
||
else
|
||
curData.rewards[i].otherData.state = 0
|
||
end
|
||
curData.rewards[i].otherData.info = string.format("%s/%s",curData.rewards[i].progress,curData.rewards[i].otherData.Values)
|
||
if curData.rewards[i].progress > curData.rewards[i].otherData.Values then
|
||
curData.rewards[i].otherData.info = string.format("%s/%s",curData.rewards[i].otherData.Values,curData.rewards[i].otherData.Values)
|
||
end
|
||
elseif indexType == 2 then
|
||
-- LogPink("curData.value:"..tostring(curData.value).." "..tostring(curData.rewards[i].otherData.Values))
|
||
if curData.value < curData.rewards[i].otherData.Values then
|
||
curData.rewards[i].otherData.state = 1
|
||
else
|
||
curData.rewards[i].otherData.state = 0
|
||
end
|
||
curData.rewards[i].otherData.info = string.format("%s/%s",curData.value,curData.rewards[i].otherData.Values)
|
||
if curData.value > curData.rewards[i].otherData.Values then
|
||
curData.rewards[i].otherData.info = string.format("%s/%s",curData.rewards[i].otherData.Values,curData.rewards[i].otherData.Values)
|
||
end
|
||
end
|
||
end
|
||
end
|
||
curData.rewards[i].otherData.Reward = actRewardConfigs[j].Reward
|
||
curData.rewards[i].otherData.ContentsShow = actRewardConfigs[j].ContentsShow
|
||
curData.rewards[i].otherData.Sort = actRewardConfigs[j].Sort
|
||
if actRewardConfigs[j].Jump then
|
||
curData.rewards[i].otherData.Jump = actRewardConfigs[j].Jump[1]
|
||
end
|
||
end
|
||
end
|
||
end
|
||
table.sort(dataList[actType].rewards,function (a,b)
|
||
if a.state == b.state then
|
||
return a.missionId < b.missionId
|
||
else
|
||
return a.state < b.state
|
||
end
|
||
end)
|
||
end
|
||
|
||
function this.GetData(actType)
|
||
if dataList[actType] then
|
||
dataList[actType] = nil
|
||
end
|
||
dataList[actType] = this.InitSingleTypeData(actType)
|
||
if TypeUpdateFunc[actType] and dataList[actType] then
|
||
TypeUpdateFunc[actType]()
|
||
end
|
||
return dataList[actType]
|
||
end
|
||
|
||
function this.InitSingleTypeData(actType)
|
||
local singleTypeData = nil
|
||
local data = ActivityGiftManager.GetActivityTypeInfo(actType)
|
||
if data then
|
||
singleTypeData = {}
|
||
Log("初始化数据,activityId:"..tostring(data.activityId).." value:"..tostring(data.value).." startTime:"..tostring(data.startTime).." endTime:"..tostring(data.endTime).." mission:"..tostring(#data.mission))
|
||
singleTypeData.activityId = data.activityId --活动ID
|
||
singleTypeData.value = data.value --value值
|
||
singleTypeData.startTime = data.startTime --开始时间
|
||
singleTypeData.endTime = data.endTime --结束时间
|
||
singleTypeData.rewards = {} --奖励数据
|
||
if data.mission and #data.mission > 0 then
|
||
for i = 1, #data.mission do
|
||
local reward = {}
|
||
reward.missionId = data.mission[i].missionId or 0 --任务Id
|
||
reward.progress = data.mission[i].progress or 0 --进度
|
||
reward.state = data.mission[i].state or 0 --状态
|
||
reward.otherData = {} --其他数据(单条奖励信息或显示文字)
|
||
table.insert(singleTypeData.rewards,reward)
|
||
end
|
||
end
|
||
singleTypeData.FreelyData = {} --其他信息(整个活动的一些信息)
|
||
end
|
||
return singleTypeData
|
||
end
|
||
|
||
function this.CheckSingleRed(data)
|
||
local NeedCost = ConfigManager.GetConfigData(ConfigName.ComposeBook,data.otherData.needItems[1]).NeedCost
|
||
if data.progress > 0 then
|
||
if BagManager.GetTotalItemNum(NeedCost[1][1]) >= NeedCost[1][2] then
|
||
local list = BagManager.GetBagItemDataByItemType(ItemBaseType.Equip)
|
||
local EquipedEquipList = HeroManager.GetEquipedEquipList()
|
||
for i = 1, #data.otherData.needItems do
|
||
for j = 1, #list do
|
||
if data.otherData.needItems[i] == list[j].itemConfig.Id then
|
||
return true
|
||
end
|
||
end
|
||
end
|
||
for i = 1, #data.otherData.needItems do
|
||
for j = 1, #EquipedEquipList do
|
||
if data.otherData.needItems[i] == EquipedEquipList[j] then
|
||
return true
|
||
end
|
||
end
|
||
end
|
||
end
|
||
end
|
||
return false
|
||
end
|
||
|
||
return CommonActPageManager |