CardEquipItemCtr.lua 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. local CardEquipItemCtr = {}
  2. local IconItemCtr = require("Common/IconItemCtr")
  3. local ConditionJudge = require("Common/ConditionJudge")
  4. function CardEquipItemCtr:SetData(wnd, itemLua, logicData, onClickOwner, onClickCB)
  5. IconItemCtr:SetData(wnd, itemLua.iconItem, logicData, Enum.ItemIEnterType.HeroEquip, onClickOwner, onClickCB)
  6. local itemCfgData = ManagerContainer.CfgMgr:GetItemById(logicData.cfgId)
  7. itemLua.textName.text.text = I18N.T(itemCfgData.Name)
  8. -- 道具类型
  9. itemLua.belong.text.text = logicData.belongName
  10. for j = 1, Constant.CARD_SLOT_LIMIT do
  11. itemLua["slot"..j]:SetActive(false)
  12. itemLua["slot"..j]["check"]:SetActive(false)
  13. --itemLua["slot"..j]["shadow"]:SetActive(false)
  14. end
  15. local hasSlot = false
  16. local cardSlotIndex = 0
  17. for j = 1, Constant.CARD_SLOT_LIMIT do
  18. local id = logicData.card_list[j] or 0
  19. local condition = ManagerContainer.CfgMgr:GetCardUnlockConditionById(logicData.slotType * 100 + j)
  20. if condition ~= nil then
  21. local result = ConditionJudge:ConditionPassResult1(condition.UnlockingCondition[1])
  22. itemLua["slot"..j]:SetActive(result)
  23. itemLua["slot"..j]["check"]:SetActive(result and id > 0)
  24. --itemLua["slot"..j]["shadow"]:SetActive(result and id > 0)
  25. if result then
  26. if id > 0 then
  27. local cardData = ManagerContainer.CfgMgr:GetCardDataById(id)
  28. CommonUtil.LoadIcon(wnd, Constant.Card_Quality_L_Icons[cardData.CardType], function (sprite)
  29. itemLua["slot"..j]["check"].image.sprite = sprite
  30. end, itemLua, "cardType"..j)
  31. else
  32. hasSlot = true
  33. if cardSlotIndex == 0 then
  34. cardSlotIndex = j
  35. end
  36. end
  37. end
  38. end
  39. end
  40. itemLua.btnEquip:SetActive(hasSlot)
  41. itemLua.btnChange:SetActive(not hasSlot)
  42. return cardSlotIndex
  43. end
  44. return CardEquipItemCtr