屏蔽报错

This commit is contained in:
puxuan 2025-07-07 19:57:13 +08:00
parent ce7aa2bfbb
commit a9e90aaf41
5 changed files with 57 additions and 218 deletions

View File

@ -158,7 +158,6 @@ function DataManager:initWithServerData(data)
self.DungeonData:initDungeonShards(data.chapter_shards_challenge)
self.FormationData:init(data.fight_info)
self.EquipData:init(data.heroes_equips)
self.EquipData:initGifts(data.act_weapon_armor_gift)
self.SkinData:init(data.bag.skins)
-- HeroData要在EquipData、SkinData之后初始化依赖它们的属性数据
self.HeroData:init(data.bag.heroes)

View File

@ -38,8 +38,8 @@ MainCityConst.RIGHT_SIDE_BARS = {
"app/ui/main_city/cell/side_bar_introduct_gift_cell",
"app/ui/main_city/cell/side_bar_beginner_gift_cell",
"app/ui/main_city/cell/side_bar_discount_cell",
"app/ui/main_city/cell/side_bar_weapon_gift_cell",
"app/ui/main_city/cell/side_bar_armor_gift_cell",
-- "app/ui/main_city/cell/side_bar_weapon_gift_cell",
-- "app/ui/main_city/cell/side_bar_armor_gift_cell",
"app/ui/main_city/cell/side_bar_grow_up_gift_cell",
}

View File

@ -1,7 +1,7 @@
local DungeonArmorMainUI = class("DungeonArmorMainUI", BaseUI)
local CHAPTER_LAYER_CELL = "app/ui/dungeon_armor/cell/chapter_cell"
local GIFT_CELL = "app/ui/main_city/cell/side_bar_armor_gift_cell"
-- local GIFT_CELL = "app/ui/main_city/cell/side_bar_armor_gift_cell"
function DungeonArmorMainUI:getCurrencyParams()
if self.currencyParams == nil then
@ -69,7 +69,7 @@ function DungeonArmorMainUI:_display()
self.btnFund:setActive(not GFunc.isShenhe())
self:refreshFund()
self:initRightBtns()
-- self:initRightBtns()
self:refreshScrollrect()
self:refreshFormation()
self:refreshStarNode()
@ -295,35 +295,35 @@ function DungeonArmorMainUI:refreshTime()
self:refreshRightBtns()
end
function DungeonArmorMainUI:initRightBtns()
if self.rightBtnCells then
return
end
local uiMap = self.root:genAllChildren()
self.rightNode = uiMap["dungeon_armor_main_ui.right_node"]
self.rightArrow = uiMap["dungeon_armor_main_ui.right_node.arrow_node"]
self.rightBtnCells = {}
self.rightBtnCells.giftCell = CellManager:addCellComp(uiMap["dungeon_armor_main_ui.right_node.side_bar.side_bar_cell"], GIFT_CELL)
-- function DungeonArmorMainUI:initRightBtns()
-- if self.rightBtnCells then
-- return
-- end
-- local uiMap = self.root:genAllChildren()
-- self.rightNode = uiMap["dungeon_armor_main_ui.right_node"]
-- self.rightArrow = uiMap["dungeon_armor_main_ui.right_node.arrow_node"]
-- self.rightBtnCells = {}
-- self.rightBtnCells.giftCell = CellManager:addCellComp(uiMap["dungeon_armor_main_ui.right_node.side_bar.side_bar_cell"], GIFT_CELL)
self.rightArrow:setVisible(false)
-- self.rightArrow:setVisible(false)
self:refreshRightBtns()
end
-- self:refreshRightBtns()
-- end
function DungeonArmorMainUI:refreshRightBtns()
local y = 0
if self.rightBtnCells.giftCell:checkIsOpen() then
y = y - 60
self.rightBtnCells.giftCell:setActive(true)
self.rightBtnCells.giftCell:setVisible(true)
self.rightBtnCells.giftCell:getBaseObject():setAnchoredPositionY(y)
self.rightBtnCells.giftCell:refresh()
else
self.rightBtnCells.giftCell:setVisible(false)
end
-- function DungeonArmorMainUI:refreshRightBtns()
-- local y = 0
-- if self.rightBtnCells.giftCell:checkIsOpen() then
-- y = y - 60
-- self.rightBtnCells.giftCell:setActive(true)
-- self.rightBtnCells.giftCell:setVisible(true)
-- self.rightBtnCells.giftCell:getBaseObject():setAnchoredPositionY(y)
-- self.rightBtnCells.giftCell:refresh()
-- else
-- self.rightBtnCells.giftCell:setVisible(false)
-- end
-- 暂不处理箭头的问题
self.rightNode:setVisible(y < 0)
end
-- -- 暂不处理箭头的问题
-- self.rightNode:setVisible(y < 0)
-- end
return DungeonArmorMainUI

View File

@ -52,7 +52,7 @@ function DungeonWeaponMainUI:_display()
local uiMap = self.root:genAllChildren()
uiMap["dungeon_weapon_mian_ui.banner.btn_formation.tx_ok"]:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_WEAPON_DESC_4))
self:initRightBtns()
-- self:initRightBtns()
self:refreshScrollrect()
self:refreshFormation()
self:refreshRemianNode()
@ -126,35 +126,35 @@ function DungeonWeaponMainUI:refreshTime()
self:refreshRightBtns()
end
function DungeonWeaponMainUI:initRightBtns()
if self.rightBtnCells then
return
end
local uiMap = self.root:genAllChildren()
self.rightNode = uiMap["dungeon_weapon_mian_ui.right_node"]
self.rightArrow = uiMap["dungeon_weapon_mian_ui.right_node.arrow_node"]
self.rightBtnCells = {}
self.rightBtnCells.giftCell = CellManager:addCellComp(uiMap["dungeon_weapon_mian_ui.right_node.side_bar.side_bar_cell"], GIFT_CELL)
-- function DungeonWeaponMainUI:initRightBtns()
-- if self.rightBtnCells then
-- return
-- end
-- local uiMap = self.root:genAllChildren()
-- self.rightNode = uiMap["dungeon_weapon_mian_ui.right_node"]
-- self.rightArrow = uiMap["dungeon_weapon_mian_ui.right_node.arrow_node"]
-- self.rightBtnCells = {}
-- self.rightBtnCells.giftCell = CellManager:addCellComp(uiMap["dungeon_weapon_mian_ui.right_node.side_bar.side_bar_cell"], GIFT_CELL)
self.rightArrow:setVisible(false)
-- self.rightArrow:setVisible(false)
self:refreshRightBtns()
end
-- self:refreshRightBtns()
-- end
function DungeonWeaponMainUI:refreshRightBtns()
local y = 0
if self.rightBtnCells.giftCell:checkIsOpen() then
y = y - 60
self.rightBtnCells.giftCell:setActive(true)
self.rightBtnCells.giftCell:setVisible(true)
self.rightBtnCells.giftCell:getBaseObject():setAnchoredPositionY(y)
self.rightBtnCells.giftCell:refresh()
else
self.rightBtnCells.giftCell:setVisible(false)
end
-- function DungeonWeaponMainUI:refreshRightBtns()
-- local y = 0
-- if self.rightBtnCells.giftCell:checkIsOpen() then
-- y = y - 60
-- self.rightBtnCells.giftCell:setActive(true)
-- self.rightBtnCells.giftCell:setVisible(true)
-- self.rightBtnCells.giftCell:getBaseObject():setAnchoredPositionY(y)
-- self.rightBtnCells.giftCell:refresh()
-- else
-- self.rightBtnCells.giftCell:setVisible(false)
-- end
-- 暂不处理箭头的问题
self.rightNode:setVisible(y < 0)
end
-- -- 暂不处理箭头的问题
-- self.rightNode:setVisible(y < 0)
-- end
return DungeonWeaponMainUI

View File

@ -141,164 +141,4 @@ function EquipData:onUpgradeEquip(heroId, part)
DataManager.HeroData:getHeroById(heroId):onEquipAttrChange()
end
-- 装备礼包相关 -----------------------------------------------------------------------------
-- 初始化礼包信息
function EquipData:initGifts(data)
self.gifts = data.active_gifts or GConst.EMPTY_TABLE
Logger.logHighlight("初始化装备礼包")
Logger.printTable(self.gifts)
ModuleManager.EquipManager:updateEquipGiftTimer()
self:setDirty()
end
-- 获取礼包最近的结束时间
function EquipData:getGiftNearestRemainTime(actType)
local checkList = actType ~= nil and self:getGiftIdsByType(actType) or table.keys(self.gifts)
local nearest = nil
for idx, id in pairs(checkList) do
local time = self:getGiftRemainTime(id)
if nearest == nil or nearest > time then
nearest = time
end
end
return nearest
end
-- 获取所有存在的该类型礼包
function EquipData:getGiftIdsByType(actType)
local ids = {}
for id, data in pairs(self.gifts) do
local cfg = DataManager.ShopData:getActGiftConfig()[id]
if cfg and actType == cfg.type and self:getGiftRemainTime(id) > 0 then
table.insert(ids, id)
end
end
table.sort(ids, function(a, b) return a > b end)
return ids
end
-- 获取可以展示的礼包
function EquipData:getCanShowGiftId(heroId, part)
local giftId = self:getEquipGiftId(heroId, part)
if not self:hasGiftData(giftId) then
return nil
end
if self:getGiftRemainTime(giftId) > 0 then
return giftId
end
return nil
end
-- 当前是否存在礼包数据
function EquipData:hasGiftData(giftId)
return self.gifts[giftId] ~= nil
end
-- 获取装备对应的礼包id
function EquipData:getEquipGiftId(heroId, part)
local giftType
if part == GConst.EquipConst.PART_TYPE.WEAPON then
giftType = PayManager.PURCHARSE_ACT_TYPE.WEAPON_UPGRADE_GIFT
else
giftType = PayManager.PURCHARSE_ACT_TYPE.ARMOR_UPGRADE_GIFT
end
if giftType == nil then
return nil
end
local level = DataManager.EquipData:getEquip(heroId, part):getLevel()
for idx, id in pairs(self:getGiftIdsByType(giftType)) do
if self:meetGiftLevelRange(id, level) then
return id
end
end
return nil
end
-- 是否满足礼包的等级条件
function EquipData:meetGiftLevelRange(giftId, level)
local cfg = DataManager.ShopData:getActGiftConfig()[giftId]
if cfg == nil or cfg.parameter_pro == nil then
return
end
return level >= cfg.parameter_pro[1] and level <= cfg.parameter_pro[2]
end
-- 获取礼包剩余时间
function EquipData:getGiftRemainTime(giftId)
-- 没有礼包
if self.gifts[giftId] == nil then
return 0
end
-- 在冷却中
if self:isGiftCooling(giftId) then
return 0
end
return (self.gifts[giftId].expire_at // 1000) - Time:getServerTime()
end
-- 礼包是否在冷却时间中
function EquipData:isGiftCooling(giftId)
local giftData = DataManager.ShopData:getActGiftDetailData(PayManager.PURCHARSE_TYPE.ACT_GIFT, giftId)
if giftData then
local latestBuyTime = giftData.latest_buy_at // 1000
local cfg = DataManager.ShopData:getActGiftConfig()[giftId]
if latestBuyTime > 0 then
-- 购买冷却
local cdTime = (cfg.cd or 0) * 3600
if latestBuyTime + cdTime > Time:getServerTime() then
return true
end
elseif self:hasGiftData(giftId) then
-- 到期冷却
if self.gifts[giftId].cd_end_at // 1000 < Time:getServerTime() then
return true
end
end
end
return false
end
-- 获取礼包显示的标题
function EquipData:getGiftTitle(giftId)
local gift = DataManager.ShopData:getActGiftConfig()[giftId]
if gift == nil then
return nil
end
if gift.type == PayManager.PURCHARSE_ACT_TYPE.WEAPON_UPGRADE_GIFT then
return I18N:getGlobalText(I18N.GlobalConst.EQUIP_DESC_28, gift.parameter_pro[1] + 20)
elseif gift.type == PayManager.PURCHARSE_ACT_TYPE.ARMOR_UPGRADE_GIFT then
return I18N:getGlobalText(I18N.GlobalConst.EQUIP_DESC_27, gift.parameter_pro[1] + 20)
end
end
-- 礼包状态改变
function EquipData:onGiftStateChange()
Logger.logHighlight("装备礼包状态改变")
self:setDirty()
end
-- 购买礼包成功
function EquipData:onBuyGiftSuccess(giftId)
Logger.logHighlight("购买装备礼包成功:"..giftId)
self:setDirty()
end
return EquipData