EquipItemCtr.lua 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. local EquipItemCtr = {}
  2. function EquipItemCtr:SetData(wnd, equipItem, logicData, enterType, onClickOwner, onClickCB, redPointStatus)
  3. local cfgId = logicData.cfgId == nil and logicData.Id or logicData.cfgId
  4. local num = logicData.num == nil and 0 or logicData.num
  5. local itemCfgData = ManagerContainer.CfgMgr:GetItemById(cfgId)
  6. local equipCfgData = ManagerContainer.CfgMgr:GetEquipById(cfgId)
  7. if not itemCfgData then
  8. LogError("在道具表中找不到该装备" .. cfgId)
  9. end
  10. if not equipCfgData then
  11. LogError("在装备表中找不到该装备" .. cfgId)
  12. end
  13. if itemCfgData.Icon and itemCfgData.Icon ~= '' then
  14. CommonUtil.LoadIcon(wnd, itemCfgData.Icon, function (sprite)
  15. equipItem.equip.image.sprite = sprite
  16. end)
  17. end
  18. local divide = Constant.Quality_Equip_Divide[equipCfgData.EquipLevel]
  19. local quality = divide[1]
  20. local qualitylv = divide[2]
  21. CommonUtil.LoadIcon(wnd, Constant.Quality_NatureBg_Icons[quality], function (sprite)
  22. equipItem.lvBG.image.sprite = sprite
  23. end)
  24. CommonUtil.LoadIcon(wnd, Constant.Quality_Frame_Icons[quality], function (sprite)
  25. equipItem.frame.image.sprite = sprite
  26. end)
  27. CommonUtil.LoadIcon(wnd, Constant.Quality_Equip_LV_Icons[qualitylv], function (sprite)
  28. equipItem.equipLv.image.sprite = sprite
  29. end)
  30. --equipItem.number.text.text = Constant.Quality_Equip_LV_Des[qualitylv]
  31. equipItem.num.text.text = tostring(num)
  32. equipItem.redPoint:SetActive(false)
  33. if Enum.ItemIEnterType.Bag == enterType then
  34. equipItem.textLV:SetActive(false)
  35. equipItem.num:SetActive(true)
  36. elseif Enum.ItemIEnterType.ItemTips == enterType then
  37. equipItem.textLV:SetActive(false)
  38. equipItem.num:SetActive(false)
  39. elseif Enum.ItemIEnterType.HeroEquip == enterType then
  40. equipItem.textLV:SetActive(false)
  41. equipItem.num:SetActive(false)
  42. equipItem.redPoint:SetActive(false)
  43. elseif Enum.ItemIEnterType.EquipForge == enterType then
  44. equipItem.textLV:SetActive(false)
  45. equipItem.num:SetActive(false)
  46. equipItem.redPoint:SetActive(redPointStatus)
  47. elseif Enum.ItemIEnterType.EquipForgePop == enterType then
  48. equipItem.textLV:SetActive(false)
  49. equipItem.num:SetActive(true)
  50. equipItem.redPoint:SetActive(false)
  51. else
  52. equipItem.textLV:SetActive(true)
  53. equipItem.num:SetActive(false)
  54. end
  55. if onClickOwner and onClickCB then
  56. equipItem.bg.button.interactable = true
  57. onClickOwner.uiBase:AddButtonUniqueEventListener(equipItem.bg.button, onClickOwner, onClickCB, logicData, equipItem)
  58. else
  59. equipItem.bg.button.interactable = false
  60. end
  61. end
  62. return EquipItemCtr