c1_lua/lua/app/ui/runes/runes_level_ui.lua
2023-09-20 00:10:31 +08:00

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