c1_lua/lua/app/ui/battle/battle_skill_select_ui.lua
2023-04-19 18:38:09 +08:00

84 lines
2.7 KiB
Lua

local BattleSkillSelectUI = class("BattleSkillSelectUI", BaseUI)
local SELECT_SKILL_CELL = "app/ui/battle/cell/battle_select_skill_cell"
function BattleSkillSelectUI:isFullScreen()
return false
end
function BattleSkillSelectUI:showCommonBG()
return false
end
function BattleSkillSelectUI:getPrefabPath()
return "assets/prefabs/ui/battle/battle_skill_select_ui.prefab"
end
function BattleSkillSelectUI:ctor(params)
self.skillList = params.skillList or {}
end
function BattleSkillSelectUI:onLoadRootComplete()
self:_display()
self:_addListeners()
end
function BattleSkillSelectUI:_display()
local uiMap = self.root:genAllChildren()
uiMap["battle_skill_select_ui.skill_node.ad_btn.tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.BATTLE_DESC_3))
uiMap["battle_skill_select_ui.bg_1"]:setVisible(true)
self:refreshRogueSkill()
end
function BattleSkillSelectUI:_addListeners()
local uiMap = self.root:genAllChildren()
uiMap["battle_skill_select_ui.skill_node.ad_btn"]:addClickListener(function()
if not ModuleManager.BattleManager.battleController then
return
end
SDKManager:showFullScreenAds(BIReport.ADS_CLICK_TYPE.BATTLE_SKILL_REFRESH, function()
self.skillList = ModuleManager.BattleManager.battleController:getRandomSkillList()
self:refreshRogueSkill()
end)
end)
self.canvasGroup = uiMap["battle_skill_select_ui.skill_node"]:getComponent(GConst.TYPEOF_UNITY_CLASS.CANVAS_GROUP)
self.bg = uiMap["battle_skill_select_ui.bg_1"]
uiMap["battle_skill_select_ui.look_btn"]:addTouchListener(function(eventType, x, y)
if eventType == GConst.TOUCH_EVENT.DOWN or eventType == GConst.TOUCH_EVENT.DRAG then
self.canvasGroup.alpha = 0.3
self.bg:setVisible(false)
else
self.canvasGroup.alpha = 1
self.bg:setVisible(true)
end
end)
end
function BattleSkillSelectUI:refreshRogueSkill()
local uiMap = self.root:genAllChildren()
if not self.selectSkillCells then
self.selectSkillCells = {}
for i = 1, 3 do
self.selectSkillCells[i] = CellManager:addCellComp(uiMap["battle_skill_select_ui.skill_node.skill_select_cell_" .. i], SELECT_SKILL_CELL)
end
end
for index, cell in ipairs(self.selectSkillCells) do
local skillId = self.skillList[index]
cell:getBaseObject():setActive(skillId ~= nil)
if skillId then
cell:refresh(skillId, function()
self:onClickSkill(skillId)
end)
end
end
end
function BattleSkillSelectUI:onClickSkill(skillId)
self:closeUI()
ModuleManager.BattleManager:onSelectSkill(skillId)
end
return BattleSkillSelectUI