78 lines
2.5 KiB
Lua
78 lines
2.5 KiB
Lua
local RunesLevelUI = class("RunesLevelUI", BaseUI)
|
|
|
|
local ARROW_LIGHT = "common_arrow_2"
|
|
local ARROW_GRAY = "common_arrow_3"
|
|
|
|
function RunesLevelUI:isFullScreen()
|
|
return false
|
|
end
|
|
|
|
function RunesLevelUI:getPrefabPath()
|
|
return "assets/prefabs/ui/runes/runes_level_ui.prefab"
|
|
end
|
|
|
|
function RunesLevelUI:onPressBackspace()
|
|
self:closeUI()
|
|
end
|
|
|
|
function RunesLevelUI:ctor()
|
|
self.curLevel = DataManager.RunesData:getLevel()
|
|
end
|
|
|
|
function RunesLevelUI:onLoadRootComplete()
|
|
local uiMap = self.root:genAllChildren()
|
|
self.txTitle = uiMap["runes_level_ui.bg.title.tx_title"]
|
|
self.btnClose = uiMap["runes_level_ui.bg.close_btn"]
|
|
self.btnRight = uiMap["runes_level_ui.bg.select.btn_right"]
|
|
self.btnLeft = uiMap["runes_level_ui.bg.select.btn_left"]
|
|
self.txSelect = uiMap["runes_level_ui.bg.select.tx_select"]
|
|
self.txDesc = uiMap["runes_level_ui.bg.bottom.tx_desc"]
|
|
|
|
self.quality = {}
|
|
for i = 1, 8 do
|
|
self.quality[i] = uiMap["runes_level_ui.bg.list.qlt_cell_" .. i]
|
|
end
|
|
|
|
self.txTitle:setText(I18N:getGlobalText(I18N.GlobalConst.RUNES_DESC_7))
|
|
self.txDesc:setText(I18N:getGlobalText(I18N.GlobalConst.RUNES_DESC_8))
|
|
|
|
self.btnRight:addClickListener(function()
|
|
self.curLevel = self.curLevel + 1
|
|
self:onRefresh()
|
|
end)
|
|
self.btnLeft:addClickListener(function()
|
|
self.curLevel = self.curLevel - 1
|
|
self:onRefresh()
|
|
end)
|
|
self.btnClose:addClickListener(function()
|
|
self:closeUI()
|
|
end)
|
|
end
|
|
|
|
function RunesLevelUI:onRefresh()
|
|
self.txSelect:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_1, self.curLevel))
|
|
if self.curLevel >= DataManager.RunesData:getMaxLevel() then
|
|
self.btnRight:setTouchEnable(false)
|
|
self.btnRight:setSprite(GConst.ATLAS_PATH.COMMON, ARROW_GRAY)
|
|
else
|
|
self.btnRight:setTouchEnable(true)
|
|
self.btnRight:setSprite(GConst.ATLAS_PATH.COMMON, ARROW_LIGHT)
|
|
end
|
|
if self.curLevel <= 1 then
|
|
self.btnLeft:setTouchEnable(false)
|
|
self.btnLeft:setSprite(GConst.ATLAS_PATH.COMMON, ARROW_GRAY)
|
|
else
|
|
self.btnLeft:setTouchEnable(true)
|
|
self.btnLeft:setSprite(GConst.ATLAS_PATH.COMMON, ARROW_LIGHT)
|
|
end
|
|
|
|
for index, obj in ipairs(self.quality) do
|
|
local map = obj:genAllChildren()
|
|
local icon = map["img_qlt"]
|
|
local rate = map["tx_rate"]
|
|
icon:setSprite(GConst.ATLAS_PATH.HERO, GConst.RunesConst.QUALITY_ICON[index])
|
|
rate:setText((DataManager.RunesData:getQualityRate(self.curLevel, index) or 0) .. "%")
|
|
end
|
|
end
|
|
|
|
return RunesLevelUI |