ro-webgl/Assets/Lua/UI/Common/EquipListItemCtr.lua
2021-12-21 09:40:39 +08:00

36 lines
1.6 KiB
Lua

local EquipListItemCtr = {}
local IconItemCtr = require("Common/IconItemCtr")
function EquipListItemCtr:SetData(wnd, itemLua, logicData, cbOwner, cb, enterType)
local equipLua = itemLua.iconItem
itemLua.textName:SetActive(logicData ~= nil)
local itemCfgData
if logicData then
itemCfgData = ManagerContainer.CfgMgr:GetItemById(logicData.cfgId)
itemLua.textName.text.text = I18N.T(itemCfgData.Name)
end
local state = enterType == Enum.ItemIEnterType.SkillEquip
itemLua.grid:SetActive(not state)
itemLua.itemDsc:SetActive(state)
if not state then
IconItemCtr:SetData(wnd, equipLua, logicData, Enum.ItemIEnterType.HeroEquip, cbOwner, cb)
local equipData = ManagerContainer.CfgMgr:GetEquipById(logicData.cfgId)
local baseAttrs = {}
for k,v in pairs(Enum.HeroAttrType) do
if equipData[k] and equipData[k] ~= 0 then
table.insert(baseAttrs, {Enum.HeroAttrType[k], equipData[k]})
end
end
CommonUtil.BatchCreateItemsLoopSpawnPrefabNew(wnd, baseAttrs, Enum.PrefabNames.EquipBaseAttrItem, itemLua.grid.transform)
else
if logicData and logicData.cfgId > 0 then
IconItemCtr:SetData(wnd, equipLua, logicData, Enum.ItemIEnterType.Bag, cbOwner, cb)
itemLua.itemDsc.text.text = I18N.T(itemCfgData and itemCfgData.Describe or "")
end
end
itemLua.btnChange:SetActive(logicData and not logicData.equiped)
itemLua.btnDown:SetActive(logicData and logicData.equiped)
end
return EquipListItemCtr