160 lines
5.3 KiB
Lua
160 lines
5.3 KiB
Lua
local EquipInfoComp = class("EquipInfoComp", LuaComponent)
|
|
|
|
function EquipInfoComp:init()
|
|
local uiMap = self:getUIMap()
|
|
|
|
self.descTx = uiMap["equip_info.equip_node.up.desc_tx"]
|
|
self.descTx1 = uiMap["equip_info.equip_node.up.desc_tx_1"]
|
|
self.infoBtn = uiMap["equip_info.equip_node.up.info_btn"]
|
|
self.autoWearBtn = uiMap["equip_info.equip_node.auto_wear_btn"]
|
|
self.autoWearBtnTx = uiMap["equip_info.equip_node.auto_wear_btn.text"]
|
|
self.upBtn = uiMap["equip_info.equip_node.up_btn"]
|
|
self.upBtnTx = uiMap["equip_info.equip_node.up_btn.text"]
|
|
self.equipNode = uiMap["equip_info.equip_node"]
|
|
self.emptyTx = uiMap["equip_info.empty_tx"]
|
|
|
|
self.emptyTx:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_HERO_DESC_7))
|
|
self.upBtnTx:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_HERO_DESC_3))
|
|
self.autoWearBtnTx:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_HERO_DESC_2))
|
|
|
|
self.currEquipEids = {}
|
|
self.equipCells = {}
|
|
self.suitTxs = {}
|
|
self.equipVfxs = {}
|
|
for i = 1, 6 do
|
|
self.suitTxs[i] = uiMap["equip_info.equip_node.up.suit_tx_" .. i]
|
|
self.equipVfxs[i] = uiMap["equip_info.equip_node.equip_cell_" .. i .. ".vfx_c1_ui_up_b06"]
|
|
self.equipCells[i] = uiMap["equip_info.equip_node.equip_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.EQUIP_CELL)
|
|
self.equipCells[i]:addClickListener(function()
|
|
local eid = DataManager.EquipData:getPartEquipUid(self.heroEntity:getMatchType(), i)
|
|
if eid and eid > 0 then
|
|
local equipEntity = DataManager.EquipData:getEquipByUid(eid)
|
|
local parmas = {}
|
|
parmas.heroEntity = self.heroEntity
|
|
parmas.slotId = self.heroEntity:getMatchType()
|
|
parmas.part = i
|
|
parmas.uid = eid
|
|
parmas.id = equipEntity:getId()
|
|
parmas.showType = GConst.EquipConst.INFO_SHOW_TYPE.ALL_ATTR
|
|
ModuleManager.EquipManager:showEquipInfoUI(parmas)
|
|
else
|
|
ModuleManager.EquipManager:showEquipListUI(self.heroEntity, i)
|
|
end
|
|
end)
|
|
end
|
|
for i = 1, 3 do
|
|
local descTx = uiMap["equip_info.equip_node.up.suit_desc_tx_" .. i]
|
|
descTx:setText(I18N:getGlobalText(I18N.GlobalConst["EQUIP_HERO_LV_" .. i]))
|
|
end
|
|
self.descTx:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_HERO_DESC_4))
|
|
self.descTx1:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_HERO_DESC_5))
|
|
|
|
self.autoWearBtn:addClickListener(function()
|
|
local slotId = self.heroEntity:getMatchType()
|
|
local listUids = {}
|
|
for i = 1, 6 do
|
|
local equip = DataManager.EquipData:getEquipMaxScore(slotId, i)
|
|
if equip ~= nil then
|
|
table.insert(listUids, equip:getUid())
|
|
end
|
|
end
|
|
ModuleManager.EquipManager:onEquipWearReq(slotId, listUids)
|
|
end)
|
|
self.upBtn:addClickListener(function()
|
|
local slotId = self.heroEntity:getMatchType()
|
|
local part
|
|
for i = 1, 6 do
|
|
local eid = DataManager.EquipData:getPartEquipUid(slotId, i)
|
|
if eid and eid > 0 then
|
|
part = part or i
|
|
if DataManager.EquipData:hasEquipGrowthRedPointBySlotIdAndPartId(slotId, part) then
|
|
ModuleManager.EquipManager:showEquipGrowthUI(slotId, i)
|
|
return
|
|
end
|
|
end
|
|
end
|
|
if part then
|
|
ModuleManager.EquipManager:showEquipGrowthUI(slotId, part)
|
|
end
|
|
end)
|
|
self.infoBtn:addClickListener(function()
|
|
ModuleManager.EquipManager:showEquipResonateUI(self.heroEntity:getMatchType(), 1)
|
|
end)
|
|
end
|
|
|
|
function EquipInfoComp:setParentUI(ui)
|
|
self.uiRoot = ui
|
|
end
|
|
|
|
function EquipInfoComp:setHeroData(heroEntity, onlyLook, formationType)
|
|
self.onlyLook = onlyLook
|
|
self.formationType = formationType
|
|
if not self.heroEntity or self.heroEntity ~= heroEntity then
|
|
for part = 1, 6 do
|
|
local eid = DataManager.EquipData:getPartEquipUid(heroEntity:getMatchType(), part)
|
|
self.currEquipEids[part] = eid
|
|
end
|
|
end
|
|
self.heroEntity = heroEntity
|
|
end
|
|
|
|
function EquipInfoComp:refresh()
|
|
self:refreshEquip()
|
|
self:refreshEquipSuit()
|
|
self:refreshRedPoint()
|
|
end
|
|
|
|
function EquipInfoComp:refreshEquip()
|
|
local slotId = self.heroEntity:getMatchType()
|
|
self.curFormation = DataManager.FormationData:getFormation(self.formationType)
|
|
if self.curFormation[slotId] ~= self.heroEntity:getCfgId() then
|
|
self.emptyTx:setActive(true)
|
|
self.equipNode:setActive(false)
|
|
return
|
|
end
|
|
self.emptyTx:setActive(false)
|
|
self.equipNode:setActive(true)
|
|
for part = 1, 6 do
|
|
local eid = DataManager.EquipData:getPartEquipUid(slotId, part)
|
|
self.equipVfxs[part]:setActive(false)
|
|
if eid and eid > 0 then
|
|
local equipEntity = DataManager.EquipData:getEquipByUid(eid)
|
|
self.equipCells[part]:refresh(equipEntity, slotId)
|
|
if not self.currEquipEids[part] or self.currEquipEids[part] ~= eid then
|
|
self.equipVfxs[part]:setActive(true)
|
|
end
|
|
self.currEquipEids[part] = eid
|
|
else
|
|
self.equipCells[part]:refreshEmpty(part)
|
|
end
|
|
if DataManager.EquipData:hasEquipWearRedPointByPart(slotId, part) then
|
|
self.equipCells[part]:addRedPoint(60, 60, 1)
|
|
else
|
|
self.equipCells[part]:removeRedPoint()
|
|
end
|
|
end
|
|
end
|
|
|
|
function EquipInfoComp:refreshEquipSuit()
|
|
local slotId = self.heroEntity:getMatchType()
|
|
for i = 1, 3 do
|
|
local lv = DataManager.EquipData:getResonateLevel(i, slotId)
|
|
self.suitTxs[i]:setText(lv)
|
|
end
|
|
end
|
|
|
|
function EquipInfoComp:refreshRedPoint()
|
|
local slotId = self.heroEntity:getMatchType()
|
|
if DataManager.EquipData:hasEquipWearRedPointById(slotId) then
|
|
self.autoWearBtn:addRedPoint(70, 30, 1)
|
|
else
|
|
self.autoWearBtn:removeRedPoint()
|
|
end
|
|
if DataManager.EquipData:hasOneEquipWear(slotId) and DataManager.EquipData:hasEquipGrowthRedPoint(slotId) then
|
|
self.upBtn:addRedPoint(70, 30, 1)
|
|
else
|
|
self.upBtn:removeRedPoint()
|
|
end
|
|
end
|
|
|
|
return EquipInfoComp |