屏蔽报错
This commit is contained in:
parent
ce7aa2bfbb
commit
a9e90aaf41
@ -158,7 +158,6 @@ function DataManager:initWithServerData(data)
|
|||||||
self.DungeonData:initDungeonShards(data.chapter_shards_challenge)
|
self.DungeonData:initDungeonShards(data.chapter_shards_challenge)
|
||||||
self.FormationData:init(data.fight_info)
|
self.FormationData:init(data.fight_info)
|
||||||
self.EquipData:init(data.heroes_equips)
|
self.EquipData:init(data.heroes_equips)
|
||||||
self.EquipData:initGifts(data.act_weapon_armor_gift)
|
|
||||||
self.SkinData:init(data.bag.skins)
|
self.SkinData:init(data.bag.skins)
|
||||||
-- HeroData要在EquipData、SkinData之后初始化,依赖它们的属性数据
|
-- HeroData要在EquipData、SkinData之后初始化,依赖它们的属性数据
|
||||||
self.HeroData:init(data.bag.heroes)
|
self.HeroData:init(data.bag.heroes)
|
||||||
|
|||||||
@ -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_introduct_gift_cell",
|
||||||
"app/ui/main_city/cell/side_bar_beginner_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_discount_cell",
|
||||||
"app/ui/main_city/cell/side_bar_weapon_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_armor_gift_cell",
|
||||||
"app/ui/main_city/cell/side_bar_grow_up_gift_cell",
|
"app/ui/main_city/cell/side_bar_grow_up_gift_cell",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
local DungeonArmorMainUI = class("DungeonArmorMainUI", BaseUI)
|
local DungeonArmorMainUI = class("DungeonArmorMainUI", BaseUI)
|
||||||
|
|
||||||
local CHAPTER_LAYER_CELL = "app/ui/dungeon_armor/cell/chapter_cell"
|
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()
|
function DungeonArmorMainUI:getCurrencyParams()
|
||||||
if self.currencyParams == nil then
|
if self.currencyParams == nil then
|
||||||
@ -69,7 +69,7 @@ function DungeonArmorMainUI:_display()
|
|||||||
self.btnFund:setActive(not GFunc.isShenhe())
|
self.btnFund:setActive(not GFunc.isShenhe())
|
||||||
|
|
||||||
self:refreshFund()
|
self:refreshFund()
|
||||||
self:initRightBtns()
|
-- self:initRightBtns()
|
||||||
self:refreshScrollrect()
|
self:refreshScrollrect()
|
||||||
self:refreshFormation()
|
self:refreshFormation()
|
||||||
self:refreshStarNode()
|
self:refreshStarNode()
|
||||||
@ -295,35 +295,35 @@ function DungeonArmorMainUI:refreshTime()
|
|||||||
self:refreshRightBtns()
|
self:refreshRightBtns()
|
||||||
end
|
end
|
||||||
|
|
||||||
function DungeonArmorMainUI:initRightBtns()
|
-- function DungeonArmorMainUI:initRightBtns()
|
||||||
if self.rightBtnCells then
|
-- if self.rightBtnCells then
|
||||||
return
|
-- return
|
||||||
end
|
-- end
|
||||||
local uiMap = self.root:genAllChildren()
|
-- local uiMap = self.root:genAllChildren()
|
||||||
self.rightNode = uiMap["dungeon_armor_main_ui.right_node"]
|
-- self.rightNode = uiMap["dungeon_armor_main_ui.right_node"]
|
||||||
self.rightArrow = uiMap["dungeon_armor_main_ui.right_node.arrow_node"]
|
-- self.rightArrow = uiMap["dungeon_armor_main_ui.right_node.arrow_node"]
|
||||||
self.rightBtnCells = {}
|
-- self.rightBtnCells = {}
|
||||||
self.rightBtnCells.giftCell = CellManager:addCellComp(uiMap["dungeon_armor_main_ui.right_node.side_bar.side_bar_cell"], GIFT_CELL)
|
-- 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()
|
-- self:refreshRightBtns()
|
||||||
end
|
-- end
|
||||||
|
|
||||||
function DungeonArmorMainUI:refreshRightBtns()
|
-- function DungeonArmorMainUI:refreshRightBtns()
|
||||||
local y = 0
|
-- local y = 0
|
||||||
if self.rightBtnCells.giftCell:checkIsOpen() then
|
-- if self.rightBtnCells.giftCell:checkIsOpen() then
|
||||||
y = y - 60
|
-- y = y - 60
|
||||||
self.rightBtnCells.giftCell:setActive(true)
|
-- self.rightBtnCells.giftCell:setActive(true)
|
||||||
self.rightBtnCells.giftCell:setVisible(true)
|
-- self.rightBtnCells.giftCell:setVisible(true)
|
||||||
self.rightBtnCells.giftCell:getBaseObject():setAnchoredPositionY(y)
|
-- self.rightBtnCells.giftCell:getBaseObject():setAnchoredPositionY(y)
|
||||||
self.rightBtnCells.giftCell:refresh()
|
-- self.rightBtnCells.giftCell:refresh()
|
||||||
else
|
-- else
|
||||||
self.rightBtnCells.giftCell:setVisible(false)
|
-- self.rightBtnCells.giftCell:setVisible(false)
|
||||||
end
|
-- end
|
||||||
|
|
||||||
-- 暂不处理箭头的问题
|
-- -- 暂不处理箭头的问题
|
||||||
self.rightNode:setVisible(y < 0)
|
-- self.rightNode:setVisible(y < 0)
|
||||||
end
|
-- end
|
||||||
|
|
||||||
return DungeonArmorMainUI
|
return DungeonArmorMainUI
|
||||||
@ -52,7 +52,7 @@ function DungeonWeaponMainUI:_display()
|
|||||||
local uiMap = self.root:genAllChildren()
|
local uiMap = self.root:genAllChildren()
|
||||||
uiMap["dungeon_weapon_mian_ui.banner.btn_formation.tx_ok"]:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_WEAPON_DESC_4))
|
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:refreshScrollrect()
|
||||||
self:refreshFormation()
|
self:refreshFormation()
|
||||||
self:refreshRemianNode()
|
self:refreshRemianNode()
|
||||||
@ -126,35 +126,35 @@ function DungeonWeaponMainUI:refreshTime()
|
|||||||
self:refreshRightBtns()
|
self:refreshRightBtns()
|
||||||
end
|
end
|
||||||
|
|
||||||
function DungeonWeaponMainUI:initRightBtns()
|
-- function DungeonWeaponMainUI:initRightBtns()
|
||||||
if self.rightBtnCells then
|
-- if self.rightBtnCells then
|
||||||
return
|
-- return
|
||||||
end
|
-- end
|
||||||
local uiMap = self.root:genAllChildren()
|
-- local uiMap = self.root:genAllChildren()
|
||||||
self.rightNode = uiMap["dungeon_weapon_mian_ui.right_node"]
|
-- self.rightNode = uiMap["dungeon_weapon_mian_ui.right_node"]
|
||||||
self.rightArrow = uiMap["dungeon_weapon_mian_ui.right_node.arrow_node"]
|
-- self.rightArrow = uiMap["dungeon_weapon_mian_ui.right_node.arrow_node"]
|
||||||
self.rightBtnCells = {}
|
-- self.rightBtnCells = {}
|
||||||
self.rightBtnCells.giftCell = CellManager:addCellComp(uiMap["dungeon_weapon_mian_ui.right_node.side_bar.side_bar_cell"], GIFT_CELL)
|
-- 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()
|
-- self:refreshRightBtns()
|
||||||
end
|
-- end
|
||||||
|
|
||||||
function DungeonWeaponMainUI:refreshRightBtns()
|
-- function DungeonWeaponMainUI:refreshRightBtns()
|
||||||
local y = 0
|
-- local y = 0
|
||||||
if self.rightBtnCells.giftCell:checkIsOpen() then
|
-- if self.rightBtnCells.giftCell:checkIsOpen() then
|
||||||
y = y - 60
|
-- y = y - 60
|
||||||
self.rightBtnCells.giftCell:setActive(true)
|
-- self.rightBtnCells.giftCell:setActive(true)
|
||||||
self.rightBtnCells.giftCell:setVisible(true)
|
-- self.rightBtnCells.giftCell:setVisible(true)
|
||||||
self.rightBtnCells.giftCell:getBaseObject():setAnchoredPositionY(y)
|
-- self.rightBtnCells.giftCell:getBaseObject():setAnchoredPositionY(y)
|
||||||
self.rightBtnCells.giftCell:refresh()
|
-- self.rightBtnCells.giftCell:refresh()
|
||||||
else
|
-- else
|
||||||
self.rightBtnCells.giftCell:setVisible(false)
|
-- self.rightBtnCells.giftCell:setVisible(false)
|
||||||
end
|
-- end
|
||||||
|
|
||||||
-- 暂不处理箭头的问题
|
-- -- 暂不处理箭头的问题
|
||||||
self.rightNode:setVisible(y < 0)
|
-- self.rightNode:setVisible(y < 0)
|
||||||
end
|
-- end
|
||||||
|
|
||||||
return DungeonWeaponMainUI
|
return DungeonWeaponMainUI
|
||||||
@ -141,164 +141,4 @@ function EquipData:onUpgradeEquip(heroId, part)
|
|||||||
DataManager.HeroData:getHeroById(heroId):onEquipAttrChange()
|
DataManager.HeroData:getHeroById(heroId):onEquipAttrChange()
|
||||||
end
|
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
|
return EquipData
|
||||||
Loading…
x
Reference in New Issue
Block a user