c1_lua/lua/app/ui/equip/equip_get_resonate_ui.lua
2025-10-26 18:10:13 +08:00

97 lines
3.8 KiB
Lua
Executable File

local BaseTips = require "app/ui/tips/base_tips"
local EquipGetEesonateUI = class("EquipGetEesonateUI", BaseTips)
function EquipGetEesonateUI:ctor(params)
self.type = params.type
self.lvNew = params.lvNew
self.attrs = params.attrs
self.attrNexts = params.attrNexts
end
function EquipGetEesonateUI:getPrefabPath()
return "assets/prefabs/ui/equip/equip_get_resonate_ui.prefab"
end
function EquipGetEesonateUI:setRootUI(ui)
self.parentUI = ui
end
function EquipGetEesonateUI:onLoadRootComplete()
local uiMap = self.root:genAllChildren()
self.root:addClickListener(function()
self:closeUI()
end)
self.bg = uiMap["equip_get_resonate_ui.bg"]
uiMap["equip_get_resonate_ui.bg.title_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_HERO_DESC_33))
uiMap["equip_get_resonate_ui.bg.name_tx"]:setText(I18N:getGlobalText("EQUIP_HERO_LV_" .. self.type, self.lvNew))
self.attrBgs = {}
self.attrNameTxs = {}
self.attrLayouts = {}
self.attrCurrValueTxs = {}
self.attrArrowImgs = {}
self.attrNextValueTxs = {}
for i = 1, 2 do
self.attrBgs[i] = uiMap["equip_get_resonate_ui.bg.attr_bg_" .. i]
self.attrNameTxs[i] = uiMap["equip_get_resonate_ui.bg.attr_bg_" .. i .. ".attr_name_tx"]
self.attrLayouts[i] = uiMap["equip_get_resonate_ui.bg.attr_bg_" .. i .. ".layout"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT)
self.attrCurrValueTxs[i] = uiMap["equip_get_resonate_ui.bg.attr_bg_" .. i .. ".layout.attr_curr_value_tx"]
self.attrArrowImgs[i] = uiMap["equip_get_resonate_ui.bg.attr_bg_" .. i .. ".layout.arrow_img"]
self.attrNextValueTxs[i] = uiMap["equip_get_resonate_ui.bg.attr_bg_" .. i .. ".layout.attr_next_value_tx"]
end
end
function EquipGetEesonateUI:onRefresh()
local typeList = {}
for k, v in pairs(self.attrNexts or {}) do
table.insert(typeList, {typeName = k, id = GFunc.getAttrIdByName(k)})
end
if #typeList <= 0 then
for k, v in pairs(self.attrs or {}) do
table.insert(typeList, {typeName = k, id = GFunc.getAttrIdByName(k)})
end
end
table.sort(typeList, function (a, b)
return a.id < b.id
end)
for i = 1, 2 do
if typeList[i] and typeList[i].typeName then
local typeName = typeList[i].typeName
self.attrBgs[i]:setActive(true)
self.attrNameTxs[i]:setText(GFunc.getAttrNameByType(typeName))
self.attrCurrValueTxs[i]:setText(GFunc.getFinalAttrValue(typeName, self.attrs[typeName] or 0))
local meshProCompNow = self.attrCurrValueTxs[i]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO)
local nowTipsNowX = meshProCompNow.preferredWidth
self.attrCurrValueTxs[i]:setSizeDeltaX(nowTipsNowX)
self.attrNextValueTxs[i]:setText(GFunc.getFinalAttrValue(typeName, self.attrNexts[typeName] or 0))
self.attrArrowImgs[i]:setActive(true)
self.attrNextValueTxs[i]:setActive(true)
local meshProCompNext = self.attrNextValueTxs[i]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO)
local nowTipsNextX = meshProCompNext.preferredWidth
self.attrNextValueTxs[i]:setSizeDeltaX(nowTipsNextX)
self.attrLayouts[i]:RefreshLayout()
else
self.attrBgs[i]:setActive(false)
end
end
if #typeList < 2 then
self.bg:setSizeDeltaY(200)
else
self.bg:setSizeDeltaY(260)
end
-- self.layout = uiMap["equip_get_resonate_ui.bg.attr_bg.layout"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT)
-- self.attrNextValueTx = uiMap["equip_get_resonate_ui.bg.attr_bg.layout.attr_next_value_tx"]
-- -- self.effect = uiMap["equip_get_resonate_ui.bg.vfx_b13_ui_equip_gongmin_b01"]
-- -- self.effect:play()
-- uiMap["equip_get_resonate_ui.bg.attr_bg.attr_name_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.ATTR_ATK))
-- uiMap["equip_get_resonate_ui.bg.attr_bg.layout.attr_curr_value_tx"]:setText(self.attrNum)
-- self.attrNextValueTx:setText(self.attrNextNum)
-- GFunc.setTextLength(self.attrNextValueTx)
-- self.layout:RefreshLayout()
end
return EquipGetEesonateUI