EquipListItemCtr.lua 1.5 KB

123456789101112131415161718192021222324252627282930313233343536
  1. local EquipListItemCtr = {}
  2. local IconItemCtr = require("Common/IconItemCtr")
  3. function EquipListItemCtr:SetData(wnd, itemLua, logicData, cbOwner, cb, enterType)
  4. local equipLua = itemLua.iconItem
  5. itemLua.textName:SetActive(logicData ~= nil)
  6. local itemCfgData
  7. if logicData then
  8. itemCfgData = ManagerContainer.CfgMgr:GetItemById(logicData.cfgId)
  9. itemLua.textName.text.text = I18N.T(itemCfgData.Name)
  10. end
  11. local state = enterType == Enum.ItemIEnterType.SkillEquip
  12. itemLua.grid:SetActive(not state)
  13. itemLua.itemDsc:SetActive(state)
  14. if not state then
  15. IconItemCtr:SetData(wnd, equipLua, logicData, Enum.ItemIEnterType.HeroEquip, cbOwner, cb)
  16. local equipData = ManagerContainer.CfgMgr:GetEquipById(logicData.cfgId)
  17. local baseAttrs = {}
  18. for k,v in pairs(Enum.HeroAttrType) do
  19. if equipData[k] and equipData[k] ~= 0 then
  20. table.insert(baseAttrs, {Enum.HeroAttrType[k], equipData[k]})
  21. end
  22. end
  23. CommonUtil.BatchCreateItemsLoopSpawnPrefabNew(wnd, baseAttrs, Enum.PrefabNames.EquipBaseAttrItem, itemLua.grid.transform)
  24. else
  25. if logicData and logicData.cfgId > 0 then
  26. IconItemCtr:SetData(wnd, equipLua, logicData, Enum.ItemIEnterType.Bag, cbOwner, cb)
  27. itemLua.itemDsc.text.text = I18N.T(itemCfgData and itemCfgData.Describe or "")
  28. end
  29. end
  30. itemLua.btnChange:SetActive(logicData and not logicData.equiped)
  31. itemLua.btnDown:SetActive(logicData and logicData.equiped)
  32. end
  33. return EquipListItemCtr