63 lines
1.4 KiB
Lua
63 lines
1.4 KiB
Lua
local UIWidgetBase = require_ex('Common/Core/UIWidgetBase')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EquipCell = HL.Class('EquipCell', UIWidgetBase)
|
|
|
|
|
|
EquipCell.equipId = HL.Field(HL.Int) << -1
|
|
|
|
|
|
EquipCell.equipData = HL.Field(HL.Userdata)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EquipCell._OnFirstTimeInit = HL.Override() << function(self)
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
EquipCell.InitEquipCell = HL.Method(HL.Any, HL.Opt(HL.Function)) << function(self, equip, onClick)
|
|
self:_FirstTimeInit()
|
|
|
|
self.equipId = equip.equipId
|
|
local charInstId = equip.charInstId
|
|
local charInfo = CharInfoUtils.getPlayerCharInfoByInstId(charInstId)
|
|
local _, equipData = Tables.equipTable:TryGetValue(self.equipId)
|
|
|
|
self.equipData = equipData
|
|
|
|
local partType = equipData.partType
|
|
local spriteName = UIConst.UI_EQUIP_PART_ICON_PREFIX .. string.format("%d", partType)
|
|
self.view.midLeft.imagePart:LoadSprite(UIConst.UI_SPRITE_EQUIP_PART_ICON, spriteName)
|
|
|
|
if charInfo then
|
|
local charId = charInfo.charId
|
|
|
|
|
|
local charSpriteName = UIConst.UI_CHAR_HEAD_PREFIX .. charId
|
|
self.view.imageChar:LoadSprite(UIConst.UI_SPRITE_CHAR_HEAD, charSpriteName)
|
|
self.view.imageCharMask.gameObject:SetActive(true)
|
|
else
|
|
self.view.imageCharMask.gameObject:SetActive(false)
|
|
end
|
|
|
|
self.view.button.onClick:RemoveAllListeners()
|
|
self.view.button.onClick:AddListener(function()
|
|
if onClick then
|
|
onClick()
|
|
end
|
|
end)
|
|
end
|
|
|
|
HL.Commit(EquipCell)
|
|
return EquipCell
|