68 lines
2.1 KiB
Lua
68 lines
2.1 KiB
Lua
local UIWidgetBase = require_ex('Common/Core/UIWidgetBase')
|
|
|
|
|
|
|
|
|
|
ItemDescNode = HL.Class('ItemDescNode', UIWidgetBase)
|
|
|
|
|
|
|
|
|
|
ItemDescNode._OnFirstTimeInit = HL.Override() << function(self)
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
ItemDescNode.InitItemDescNode = HL.Method(HL.String, HL.Opt(HL.Table)) << function(self, itemId, args)
|
|
self:_FirstTimeInit()
|
|
|
|
local itemCfg = Tables.itemTable:GetValue(itemId)
|
|
|
|
self.view.defaultDesc:SetAndResolveTextStyle(itemCfg.desc)
|
|
|
|
local isManualCraftItem = false
|
|
local isTacticalItem = false
|
|
local manualCraftId
|
|
if itemCfg.type == GEnums.ItemType.FormulaUnlock then
|
|
isManualCraftItem, manualCraftId = Tables.factoryManualCraftReverseTable:TryGetValue(itemId)
|
|
if isManualCraftItem then
|
|
local _, craftData = Tables.factoryManualCraftTable:TryGetValue(manualCraftId)
|
|
if craftData and #craftData.outcomes > 0 then
|
|
itemId = craftData.outcomes[0].id
|
|
end
|
|
end
|
|
end
|
|
self.view.decoSplitLine.gameObject:SetActive(isManualCraftItem)
|
|
|
|
local isUseItem, useItemCfg = Tables.useItemTable:TryGetValue(itemId)
|
|
if isUseItem and not useItemCfg.isValuableDepot then
|
|
isTacticalItem = true
|
|
end
|
|
self.view.tacticalItemTitle.gameObject:SetActive(isTacticalItem)
|
|
self.view.tacticalItemDesc.gameObject:SetActive(isTacticalItem)
|
|
self.view.defaultDesc.gameObject:SetActive(not isTacticalItem or isManualCraftItem)
|
|
|
|
if isTacticalItem then
|
|
self.view.tacticalItemDesc:SetAndResolveTextStyle(UIUtils.getItemUseDesc(itemId))
|
|
end
|
|
|
|
local isEquipUnlock = Utils.isSystemUnlocked(GEnums.UnlockSystemType.Equip)
|
|
local isEquipItem, equipItemCfg = Tables.equipItemTable:TryGetValue(itemId)
|
|
local showEquipDesc = isEquipUnlock and isEquipItem
|
|
self.view.equipItemTitle.gameObject:SetActive(showEquipDesc)
|
|
self.view.equipItemDesc.gameObject:SetActive(showEquipDesc)
|
|
if showEquipDesc then
|
|
self.view.equipItemDesc:SetAndResolveTextStyle(UIUtils.getItemEquippedDesc(itemId))
|
|
end
|
|
|
|
self.view.decoDesc.gameObject:SetActive(not showEquipDesc)
|
|
self.view.decoDesc.text = itemCfg.decoDesc
|
|
end
|
|
|
|
HL.Commit(ItemDescNode)
|
|
return ItemDescNode
|
|
|