80 lines
2.5 KiB
Lua
80 lines
2.5 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))
|
|
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)
|
|
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
|
|
else
|
|
self.canvasGroup.alpha = 1
|
|
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 |