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