This commit is contained in:
xiekaidong 2023-05-08 11:02:42 +08:00
parent cb0e613e47
commit 18c83cfa0c
9 changed files with 49 additions and 28 deletions

View File

@ -24,8 +24,12 @@ function DataManager:initManager(name, path)
if self[name] then
self._cacheManager[name] = self[name]
end
if name == "BattleData" and self._cacheManager[name] then
else
self[name] = require(path):create()
end
end
function DataManager:checkDataBind()
local changeBindFunc = function(baseData, curBaseData)
@ -100,7 +104,7 @@ function DataManager:initWithServerData(data)
self.todayFirstLogin = data.today_first_login
-- self.PlayerData:init(data.PlayerData)
self.ChapterData:init(data.chapter)
self.HeroData:init(data.bag.heros)
self.HeroData:init(data.bag.heroes)
self.BagData:init(data.bag)
self.FormationData:init(data.fight_info)
self.TutorialData:init(data.guide)

View File

@ -157,6 +157,8 @@ if NOT_PUBLISH then
[SDKManager.tryLoadRewardedAdDelay] = true,
[ScrollRectBase.refillCells] = true,
[DataManager.scheduleGlobal] = true,
[NetManager.performWithDelayGlobal] = true,
[NetManager.scheduleGlobal] = true,
}
end
end

View File

@ -685,13 +685,13 @@ function GFunc.mergeRewards2(rewards, newRewards)
local items = {}
for i,v in ipairs(rewards) do
if v.type == GConst.REWARD_TYPE.ITEM then
items[v.item.cfg_id] = (items[v.item.cfg_id] or 0) + v.item.count
items[v.item.id] = (items[v.item.id] or 0) + v.item.count
elseif v.type == GConst.REWARD_TYPE.EQUIP then
table.insert(newRewards, v)
end
end
for k,v in pairs(items) do
table.insert(newRewards, {type = GConst.REWARD_TYPE.ITEM, item = {cfg_id = k, count = v}})
table.insert(newRewards, {type = GConst.REWARD_TYPE.ITEM, item = {id = k, count = v}})
end
end
@ -744,7 +744,7 @@ function GFunc.getRewardsStr(rewards)
local itemStr = ""
for k, v in ipairs(rewards) do
if v.type == GConst.REWARD_TYPE.ITEM then
itemStr = itemStr .. v.type .. "." .. v.item.cfg_id .. "." .. v.item.count
itemStr = itemStr .. v.type .. "." .. v.item.id .. "." .. v.item.count
end
if k ~= #rewards then
itemStr = itemStr.. "|"
@ -1604,7 +1604,7 @@ function GFunc.getRewardNum(reward)
if reward.num_for_nothing then
return CS.BF.Utils.GetRewardNumber(reward.num_for_nothing)
else
return reward.num
return reward.num or reward.count
end
end

View File

@ -56,7 +56,7 @@ function ChapterManager:endFight(id, combatReport)
combatReport = combatReport,
}
self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterSettlementReq, parmas, {}, self.startFightFinish, BIReport.ITEM_GET_TYPE.CHAPTER_FIGHT_END)
self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterSettlementReq, parmas, {}, self.endFightFinish, BIReport.ITEM_GET_TYPE.CHAPTER_FIGHT_END)
end
function ChapterManager:endFightFinish(result)
@ -68,7 +68,7 @@ function ChapterManager:endFightFinish(result)
GFunc.mergeRewards2(result.rewards, newRewards)
end
ModuleManager.BattleManager:showBattleResultUI(newRewards, reqData.combatReport)
DataManager.ChapterData:fightChapter(reqData.chapter_id, result.current_chapter_id, result.max_wave)
DataManager.ChapterData:fightChapter(reqData.chapter_id, result.max_chapter_id, result.max_wave)
-- 处理金猪
DataManager.GodPigData:addGoldPigCount()

View File

@ -1,9 +1,13 @@
local ProtoMsgType = {
FromMsgId = {
[109633552] = "PigLevelDownNtf",
[109700242] = "PigLevelDownReq",
[109702075] = "PigLevelDownRsp",
[132242856] = "ChapterSettlementReq",
[132244689] = "ChapterSettlementRsp",
[516281556] = "GuideFundMarkReq",
[516283389] = "GuideFundMarkRsp",
[531558517] = "PigPlayUpdateNtf",
[565555292] = "MallPayNtf",
[565621982] = "MallPayReq",
[565623815] = "MallPayRsp",
@ -56,6 +60,7 @@ local ProtoMsgType = {
[3370486928] = "MonCardRewardRsp",
[3421843875] = "TaskDailyRewardReq",
[3421845708] = "TaskDailyRewardRsp",
[3440328467] = "PigLevelUpNtf",
[3450440933] = "BattlePassTaskRewardReq",
[3450442766] = "BattlePassTaskRewardRsp",
[3607879254] = "AuthReq",
@ -72,10 +77,14 @@ local ProtoMsgType = {
[4256335780] = "ExistRsp",
},
FromMsgToId = {
PigLevelDownNtf = 109633552,
PigLevelDownReq = 109700242,
PigLevelDownRsp = 109702075,
ChapterSettlementReq = 132242856,
ChapterSettlementRsp = 132244689,
GuideFundMarkReq = 516281556,
GuideFundMarkRsp = 516283389,
PigPlayUpdateNtf = 531558517,
MallPayNtf = 565555292,
MallPayReq = 565621982,
MallPayRsp = 565623815,
@ -128,6 +137,7 @@ local ProtoMsgType = {
MonCardRewardRsp = 3370486928,
TaskDailyRewardReq = 3421843875,
TaskDailyRewardRsp = 3421845708,
PigLevelUpNtf = 3440328467,
BattlePassTaskRewardReq = 3450440933,
BattlePassTaskRewardRsp = 3450442766,
AuthReq = 3607879254,
@ -144,10 +154,14 @@ local ProtoMsgType = {
ExistRsp = 4256335780,
},
FromMsgEnum = {
PigLevelDownNtf = "PigLevelDownNtf",
PigLevelDownReq = "PigLevelDownReq",
PigLevelDownRsp = "PigLevelDownRsp",
ChapterSettlementReq = "ChapterSettlementReq",
ChapterSettlementRsp = "ChapterSettlementRsp",
GuideFundMarkReq = "GuideFundMarkReq",
GuideFundMarkRsp = "GuideFundMarkRsp",
PigPlayUpdateNtf = "PigPlayUpdateNtf",
MallPayNtf = "MallPayNtf",
MallPayReq = "MallPayReq",
MallPayRsp = "MallPayRsp",
@ -200,6 +214,7 @@ local ProtoMsgType = {
MonCardRewardRsp = "MonCardRewardRsp",
TaskDailyRewardReq = "TaskDailyRewardReq",
TaskDailyRewardRsp = "TaskDailyRewardRsp",
PigLevelUpNtf = "PigLevelUpNtf",
BattlePassTaskRewardReq = "BattlePassTaskRewardReq",
BattlePassTaskRewardRsp = "BattlePassTaskRewardRsp",
AuthReq = "AuthReq",

View File

@ -15,7 +15,7 @@ function RewardCell:refresh(reward)
local id
if reward.type == GConst.REWARD_TYPE.ITEM then
self:_refreshItem(reward.item)
id = reward.item.cfg_id or reward.item.id
id = reward.item.id
end
if id then
self:addClickListener(function()
@ -43,7 +43,7 @@ function RewardCell:refreshByConfig(reward, mask, check)
end
function RewardCell:_refreshItem(item)
local info = ConfigManager:getConfig("item")[item.cfg_id or item.id]
local info = ConfigManager:getConfig("item")[item.id]
if info == nil then
return
end

View File

@ -65,7 +65,7 @@ end
function RewardBox:_refreshScrollRect(onlyRefresh)
for i,v in ipairs(self.params.rewards) do
if self.params.rewards[i].type == GConst.REWARD_TYPE.ITEM then
local id = self.params.rewards[i].item.id or self.params.rewards[i].item.cfg_id
local id = self.params.rewards[i].item.id or self.params.rewards[i].item.id
if id == GConst.ItemConst.ITEM_ID_GOLD or
id == GConst.ItemConst.ITEM_ID_GEM or
id == GConst.ItemConst.ITEM_ID_VIT

View File

@ -7,7 +7,7 @@ local RECOVERY_TYPE_DAILY = 2
local SECONDS_PRE_DAY = 86400
local CACHE_ITEM = {
cfg_id = 0,
id = 0,
count = 0
}
@ -43,7 +43,7 @@ function ItemData:init(data)
local recoveryInfo = recoveryCfg[v.id]
if recoveryInfo then
local obj = {
cfg_id = v.id,
id = v.id,
ts = v.ts,
limit = recoveryInfo.limit,
recoveryType = recoveryInfo.type,
@ -95,13 +95,13 @@ function ItemData:getVit()
end
function ItemData:addItemReward(item, itemGetType)
CACHE_ITEM.cfg_id = GFunc.getRewardId(item)
CACHE_ITEM.id = GFunc.getRewardId(item)
CACHE_ITEM.count = GFunc.getRewardNum(item)
self:addItem(CACHE_ITEM, itemGetType)
end
function ItemData:addItemCost(cost, itemGetType)
CACHE_ITEM.cfg_id = GFunc.getRewardId(cost)
CACHE_ITEM.id = GFunc.getRewardId(cost)
CACHE_ITEM.count = -GFunc.getRewardNum(cost)
self:addItem(CACHE_ITEM, itemGetType)
end
@ -132,20 +132,20 @@ function ItemData:addItem(data, itemGetType)
end
end
self:_addItemNumById(data.cfg_id, data.count)
self:_addItemNumById(data.id, data.count)
if data.cfg_id == GConst.ItemConst.ITEM_ID_GEM or data.cfg_id == GConst.ItemConst.ITEM_ID_GOLD then
if data.id == GConst.ItemConst.ITEM_ID_GEM or data.id == GConst.ItemConst.ITEM_ID_GOLD then
if data.count < 0 then
BIReport:postGemUse(data.count, itemGetType, data.cfg_id)
BIReport:postGemUse(data.count, itemGetType, data.id)
else
BIReport:postGemGet(data.count, itemGetType, data.cfg_id)
BIReport:postGemGet(data.count, itemGetType, data.id)
end
if data.cfg_id == GConst.ItemConst.ITEM_ID_GEM then
if data.id == GConst.ItemConst.ITEM_ID_GEM then
CS.ThinkingAnalytics.ThinkingAnalyticsAPI.UserAdd("user_gem", data.count)
elseif data.cfg_id == GConst.ItemConst.ITEM_ID_GOLD then
elseif data.id == GConst.ItemConst.ITEM_ID_GOLD then
CS.ThinkingAnalytics.ThinkingAnalyticsAPI.UserAdd("user_gold", data.count)
end
elseif data.cfg_id == GConst.ItemConst.ITEM_ID_VIT then
elseif data.id == GConst.ItemConst.ITEM_ID_VIT then
if data.count < 0 then
BIReport:postVitUse(data.count)
else
@ -153,15 +153,15 @@ function ItemData:addItem(data, itemGetType)
end
else
if data.count < 0 then
BIReport:postItemUse(data.count, data.cfg_id, itemGetType)
BIReport:postItemUse(data.count, data.id, itemGetType)
else
BIReport:postItemGet(data.count, data.cfg_id, itemGetType)
BIReport:postItemGet(data.count, data.id, itemGetType)
end
end
end
function ItemData:addItemNumById(id, num, itemGetType)
CACHE_ITEM.cfg_id = id
CACHE_ITEM.id = id
CACHE_ITEM.count = num
self:addItem(CACHE_ITEM, itemGetType)
end
@ -218,7 +218,7 @@ end
-- 按时间回复的在此回复
function ItemData:recoveryItem(data)
-- 计算已经达到上限
local itemId = data.cfg_id
local itemId = data.id
local currNum = self:getItemNumById(itemId)
if currNum >= data.limit then
return
@ -251,7 +251,7 @@ function ItemData:recoveryDailyItem(data)
if nowTime < data.ts then
return
end
local itemId = data.cfg_id
local itemId = data.id
local currNum = self:getItemNumById(itemId)
if currNum < data.limit then
self:addItemNumById(itemId, data.limit - currNum, BIReport.ITEM_GET_TYPE.CROSS_DAY)

View File

@ -270,7 +270,7 @@ function BattleData:clearGridSequence()
end
function BattleData:getGridEnties()
return self.gridEntities
return self.gridEntities or {}
end
function BattleData:getGridEntity(posId)