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

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