c1_lua/lua/app/ui/equip/equip_growth_ui.lua
2025-09-12 09:50:19 +08:00

271 lines
12 KiB
Lua

local EquipGrowthUI = class("EquipGrowthUI", BaseUI)
local EQUIP_LIST_CELL = "app/ui/equip/cell/equip_list_cell"
function EquipGrowthUI:isFullScreen()
return false
end
function EquipGrowthUI:getPrefabPath()
return "assets/prefabs/ui/equip/equip_growth_ui.prefab"
end
function EquipGrowthUI:onPressBackspace()
self:closeUI()
end
function EquipGrowthUI:ctor(parmas)
self.slotId = parmas.slotId
self.equipPart = 1
self.page = 1
end
function EquipGrowthUI:onLoadRootComplete()
local uiMap = self.root:genAllChildren()
uiMap["equip_growth_ui.mask"]:addClickListener(function()
self:closeUI()
end)
uiMap["equip_growth_ui.bg.close_btn"]:addClickListener(function()
self:closeUI()
end)
uiMap["equip_growth_ui.bg.page_info_1.attr_bg.bg.info_btn"]:addClickListener(function()
self:closeUI()
end)
-- uiMap["equip_growth_ui.bg.close_btn"]:addClickListener(function()
-- self:closeUI()
-- end)
self.nameTx = uiMap["equip_growth_ui.bg.name_tx"]
self.equipCell = uiMap["equip_growth_ui.bg.equip_cell"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.EQUIP_CELL)
-- 强化
self.upCurrLvTx = uiMap["equip_growth_ui.bg.page_info_1.curr_lv_tx"]
self.upNextLvTx = uiMap["equip_growth_ui.bg.page_info_1.next_lv_tx"]
self.upDescTx = uiMap["equip_growth_ui.bg.page_info_1.attr_bg.desc_tx"]
self.upAttrNameTx = uiMap["equip_growth_ui.bg.page_info_1.attr_bg.attr_name_tx"]
self.upAttrCurrTx = uiMap["equip_growth_ui.bg.page_info_1.attr_bg.attr_curr_tx"]
self.upAttrNextTx = uiMap["equip_growth_ui.bg.page_info_1.attr_bg.attr_next_tx"]
-- self.upInfoBtn = uiMap["equip_growth_ui.bg.page_info_1.attr_bg.bg.info_btn"]
self.upDescTx1 = uiMap["equip_growth_ui.bg.page_info_1.attr_bg.bg.desc_tx"]
self.upCostBg = uiMap["equip_growth_ui.bg.page_info_1.attr_bg.cost_bg"]
self.upCostIcon = uiMap["equip_growth_ui.bg.page_info_1.attr_bg.cost_bg.cost_icon"]
self.upCostTx = uiMap["equip_growth_ui.bg.page_info_1.attr_bg.cost_bg.cost_tx"]
self.upUpBtn = uiMap["equip_growth_ui.bg.page_info_1.attr_bg.up_btn"]
-- self.upUpBtnTx = uiMap["equip_growth_ui.bg.page_info_1.attr_bg.up_btn.text"]
self.upAutoBtn = uiMap["equip_growth_ui.bg.page_info_1.attr_bg.auto_btn"]
-- self.upAutoBtnTx = uiMap["equip_growth_ui.bg.page_info_1.attr_bg.auto_btn.text"]
self.upMaxDescTx = uiMap["equip_growth_ui.bg.page_info_1.attr_bg.max_desc_tx"]
self.upUpBtn:addClickListener(function()
self:closeUI()
end)
self.upAutoBtn:addClickListener(function()
self:closeUI()
end)
uiMap["equip_growth_ui.bg.page_info_1.attr_bg.up_btn.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_DESC_3))
uiMap["equip_growth_ui.bg.page_info_1.attr_bg.auto_btn.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_HERO_DESC_23))
self.upMaxDescTx:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_HERO_DESC_27))
-- 精炼
-- self.refineNowBg = uiMap["equip_growth_ui.bg.page_info_2.now_bg"]
self.refineCurrLvTx = uiMap["equip_growth_ui.bg.page_info_2.now_bg.lv_tx"]
-- self.refineNextBg = uiMap["equip_growth_ui.bg.page_info_2.next_bg"]
self.refineNextLvTx = uiMap["equip_growth_ui.bg.page_info_2.next_bg.lv_tx"]
self.refineDescTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.desc_tx"]
-- self.list = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list"]
-- self.attrExtraCell1 = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_1"]
-- self.point = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_1.point"]
-- self.attrNameTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_1.attr_name_tx"]
-- self.attrCurrTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_1.attr_curr_tx"]
-- self.imgArrow = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_1.img_arrow"]
-- self.attrNextTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_1.attr_next_tx"]
-- self.attrExtraCell2 = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_2"]
-- self.point = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_2.point"]
-- self.attrNameTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_2.attr_name_tx"]
-- self.attrCurrTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_2.attr_curr_tx"]
-- self.imgArrow = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_2.img_arrow"]
-- self.attrNextTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_2.attr_next_tx"]
-- self.attrExtraCell3 = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_3"]
-- self.point = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_3.point"]
-- self.attrNameTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_3.attr_name_tx"]
-- self.attrCurrTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_3.attr_curr_tx"]
-- self.imgArrow = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_3.img_arrow"]
-- self.attrNextTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_3.attr_next_tx"]
-- self.attrExtraCell4 = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_4"]
-- self.point = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_4.point"]
-- self.attrNameTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_4.attr_name_tx"]
-- self.attrCurrTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_4.attr_curr_tx"]
-- self.imgArrow = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_4.img_arrow"]
-- self.attrNextTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_4.attr_next_tx"]
-- self.bg = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.bg"]
self.refineInfoBtn = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.bg.info_btn"]
self.refineDescTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.bg.desc_tx"]
self.refineCostBg = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.cost_bg"]
self.refineCostIcon = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.cost_bg.cost_icon"]
self.refineCostTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.cost_bg.cost_tx"]
self.refineUpBtn = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.up_btn"]
self.refineUpBtnTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.up_btn.text"]
self.refineRateTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.rate_tx"]
self.refineDescTx1 = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.desc_tx_1"]
self.refineResolveBtn = uiMap["equip_growth_ui.bg.resolve_btn"]
self.refineResolveBtnTx = uiMap["equip_growth_ui.bg.resolve_btn.text"]
self.refineAttrCells = {}
self.refineAttrNameTxs = {}
self.refineAttrCurrTxs = {}
self.refineAttrNextTxs = {}
for i = 1, 4 do
self.refineAttrCells[i] = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_" .. i]
self.refineAttrNameTxs[i] = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_" .. i .. ".attr_name_tx"]
self.refineAttrCurrTxs[i] = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_" .. i .. ".attr_curr_tx"]
self.refineAttrNextTxs[i] = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.list.attr_extra_cell_" .. i .. ".attr_next_tx"]
end
self.equipCells = {}
for i = 1, 6 do
self.equipCells[i] = uiMap["equip_growth_ui.bg.equip_list.equip_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.EQUIP_CELL)
self.equipCells[i]:addClickListener(function()
if self.page == i then
return
end
self.page = i
self:onRefresh()
-- ModuleManager.EquipManager:showEquipListUI(self.heroEntity, i)
end)
end
self.btnTxs = {I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_4), I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_16)}
self.pageInfos = {}
self.pageBtns = {}
self.pageBtnTxs = {}
for i = 1, 2 do
self.pageInfos[i] = uiMap["equip_growth_ui.bg.page_info_" .. i]
self.pageBtns[i] = uiMap["equip_growth_ui.bg.page_btn_" .. i]
self.pageBtnTxs[i] = uiMap["equip_growth_ui.bg.page_btn_" .. i .. ".text"]
self.pageBtns[i] :addClickListener(function()
if self.equipPart == i then
return
end
self.equipPart = i
self:onRefresh()
end)
end
uiMap["equip_growth_ui.bg.title_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.BAG_DESC_1))
-- self:bind(DataManager.HeroData, "isDirty", function()
-- self:closeUI()
-- end)
end
function EquipGrowthUI:onRefresh()
-- self:initList()
self:refreshPageBtn()
self:refreshPageInfo()
self:refreshEquipCell()
end
function EquipGrowthUI:refreshEquipCell()
local eid = DataManager.EquipData:getPartEquipUid(self.slotId, self.equipPart)
if eid and eid > 0 then
local equipEntity = DataManager.EquipData:getEquipByUid(eid)
self.equipCell:refresh(equipEntity, self.equipPart)
else
self.equipCell:refreshEmpty(self.equipPart)
end
for part = 1, 6 do
local eid = DataManager.EquipData:getPartEquipUid(self.slotId, part)
if eid and eid > 0 then
local equipEntity = DataManager.EquipData:getEquipByUid(eid)
self.equipCells[part]:refresh(equipEntity, part)
else
self.equipCells[part]:refreshEmpty(part)
end
end
end
function EquipGrowthUI:refreshPageBtn()
for i = 1, 2 do
if self.page == i then
self.pageInfos[i]:setActive(true)
self.pageBtns[i]:setSprite(GConst.ATLAS_PATH.COMMON, "common_tab_1")
self.pageBtnTxs[i]:setText(self.btnTxs[i])
else
self.pageInfos[i]:setActive(false)
self.pageBtns[i]:setSprite(GConst.ATLAS_PATH.COMMON, "common_tab_2")
self.pageBtnTxs[i]:setText("<color=#72778C>" .. self.btnTxs[i] .. "</color>")
end
end
end
function EquipGrowthUI:refreshPageInfo()
if self.page == 1 then
self:refreshPageUp()
else
self:refreshPageRefine()
end
end
--@region 强化
function EquipGrowthUI:refreshPageUp()
local lv = DataManager.EquipData:getPartLv(self.slotId, self.equipPart)
local eid = DataManager.EquipData:getPartEquipUid(self.slotId, self.equipPart)
local equipEntity = DataManager.EquipData:getEquipByUid(eid)
local isLvMax = equipEntity:getIsLvMax(self.slotId)
-- if eid and eid > 0 then
-- local equipEntity = DataManager.EquipData:getEquipByUid(eid)
-- self.equipCell:refresh(equipEntity, self.equipPart)
-- else
-- self.equipCell:refreshEmpty(self.equipPart)
-- end
self.upCurrLvTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_1, lv))
self.upDescTx:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_DESC_14))
local lv = DataManager.EquipData:getResonateLevel(GConst.EquipConst.RESONATE_PAGE.LV_UP, self.equipPart)
self.upDescTx1:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_HERO_ACTIVATION_1, lv))
self.upMaxDescTx:setActive(isLvMax)
local _, _, resonateAttrNum = DataManager.EquipData:getResonateLevel(GConst.EquipConst.RESONATE_PAGE.LV_UP, self.equipPart)
local currAttr = equipEntity:getBaseAttrWithLv(lv)
self.upAttrNameTx:setText(GFunc.getAttrNameByType(currAttr.type))
local currAttrNum = GFunc.getFinalAttrValue(currAttr.type, currAttr.num + resonateAttrNum)
self.upAttrCurrTx:setText(currAttrNum)
if not isLvMax then
self.upNextLvTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_1, lv + 1))
local nextAttr = equipEntity:getBaseAttrWithLv(lv + 1)
local nextAttrNum = GFunc.getFinalAttrValue(nextAttr.type, nextAttr.num + resonateAttrNum)
self.upAttrNextTx:setText(nextAttrNum)
local itemCost = DataManager.EquipData:getLevelCost(lv + 1)
local costId = GFunc.getRewardId(itemCost)
local costNum = GFunc.getRewardNum(itemCost)
local count = DataManager.BagData.ItemData:getItemNumById(costId)
self.upCostIcon:setSprite(ModuleManager.ItemManager:getItemIcon(costId))
if costNum > count then
self.upCostTx:setText("<color=#FF0000>" .. count .. "</color>/"..costNum)
else
self.upCostTx:setText(count .. "/" .. costNum)
end
end
end
--@endregion
--@region 精炼
function EquipGrowthUI:refreshPageRefine()
-- self.refineInfoBtn = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.bg.info_btn"]
-- self.refineDescTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.bg.desc_tx"]
-- self.refineCostBg = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.cost_bg"]
-- self.refineCostIcon = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.cost_bg.cost_icon"]
-- self.refineCostTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.cost_bg.cost_tx"]
-- self.refineUpBtn = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.up_btn"]
-- self.refineUpBtnTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.up_btn.text"]
-- self.refineRateTx = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.rate_tx"]
-- self.refineDescTx1 = uiMap["equip_growth_ui.bg.page_info_2.attr_bg.desc_tx_1"]
-- self.refineResolveBtn = uiMap["equip_growth_ui.bg.resolve_btn"]
-- self.refineResolveBtnTx = uiMap["equip_growth_ui.bg.resolve_btn.text"]
end
--@endregion
return EquipGrowthUI