50 lines
2.1 KiB
Lua
50 lines
2.1 KiB
Lua
local CardEquipItemCtr = {}
|
|
local IconItemCtr = require("Common/IconItemCtr")
|
|
local ConditionJudge = require("Common/ConditionJudge")
|
|
|
|
function CardEquipItemCtr:SetData(wnd, itemLua, logicData, onClickOwner, onClickCB)
|
|
IconItemCtr:SetData(wnd, itemLua.iconItem, logicData, Enum.ItemIEnterType.HeroEquip, onClickOwner, onClickCB)
|
|
local itemCfgData = ManagerContainer.CfgMgr:GetItemById(logicData.cfgId)
|
|
itemLua.textName.text.text = I18N.T(itemCfgData.Name)
|
|
-- 道具类型
|
|
|
|
itemLua.belong.text.text = logicData.belongName
|
|
|
|
for j = 1, Constant.CARD_SLOT_LIMIT do
|
|
itemLua["slot"..j]:SetActive(false)
|
|
itemLua["slot"..j]["check"]:SetActive(false)
|
|
--itemLua["slot"..j]["shadow"]:SetActive(false)
|
|
end
|
|
|
|
local hasSlot = false
|
|
local cardSlotIndex = 0
|
|
for j = 1, Constant.CARD_SLOT_LIMIT do
|
|
local id = logicData.card_list[j] or 0
|
|
local condition = ManagerContainer.CfgMgr:GetCardUnlockConditionById(logicData.slotType * 100 + j)
|
|
|
|
if condition ~= nil then
|
|
local result = ConditionJudge:ConditionPassResult1(condition.UnlockingCondition[1])
|
|
itemLua["slot"..j]:SetActive(result)
|
|
itemLua["slot"..j]["check"]:SetActive(result and id > 0)
|
|
--itemLua["slot"..j]["shadow"]:SetActive(result and id > 0)
|
|
if result then
|
|
if id > 0 then
|
|
local cardData = ManagerContainer.CfgMgr:GetCardDataById(id)
|
|
CommonUtil.LoadIcon(wnd, Constant.Card_Quality_L_Icons[cardData.CardType], function (sprite)
|
|
itemLua["slot"..j]["check"].image.sprite = sprite
|
|
end, itemLua, "cardType"..j)
|
|
else
|
|
hasSlot = true
|
|
if cardSlotIndex == 0 then
|
|
cardSlotIndex = j
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
itemLua.btnEquip:SetActive(hasSlot)
|
|
itemLua.btnChange:SetActive(not hasSlot)
|
|
return cardSlotIndex
|
|
end
|
|
|
|
return CardEquipItemCtr |