61 lines
1.5 KiB
Lua
61 lines
1.5 KiB
Lua
local UIWidgetBase = require_ex('Common/Core/UIWidgetBase')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EquipEnhanceLevelNode = HL.Class('EquipEnhanceLevelNode', UIWidgetBase)
|
|
|
|
|
|
EquipEnhanceLevelNode.m_levelCellCache = HL.Field(HL.Forward("UIListCache"))
|
|
|
|
|
|
EquipEnhanceLevelNode.enabled = HL.Field(HL.Boolean) << false
|
|
|
|
|
|
EquipEnhanceLevelNode.isEnhanced = HL.Field(HL.Boolean) << false
|
|
|
|
|
|
|
|
EquipEnhanceLevelNode._OnFirstTimeInit = HL.Override() << function(self)
|
|
self.m_levelCellCache = UIUtils.genCellCache(self.view.lvDotCell)
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EquipEnhanceLevelNode.InitEquipEnhanceLevelNode = HL.Method(HL.Table) << function(self, args)
|
|
if not EquipTechUtils.canShowEquipEnhanceNode(args.equipInstId) then
|
|
self.view.gameObject:SetActive(false)
|
|
self.enabled = false
|
|
self.isEnhanced = false
|
|
return
|
|
end
|
|
self.enabled = true
|
|
self.view.gameObject:SetActiveIfNecessary(true)
|
|
|
|
self:_FirstTimeInit()
|
|
|
|
self.view.enhanceNode:InitEquipEnhanceNode(args)
|
|
local enhancedLevel, maxEnhanceLevel = self.view.enhanceNode:GetEnhanceLevel()
|
|
self.isEnhanced = enhancedLevel > 0
|
|
self.m_levelCellCache:Refresh(maxEnhanceLevel, function(cell ,luaIndex)
|
|
local color = luaIndex < enhancedLevel and self.config.COLOR_ENHANCED or self.config.COLOR_NORMAL
|
|
if luaIndex == enhancedLevel then
|
|
color = args.showNextLevel and self.config.COLOR_NEXT_ENHANCED or self.config.COLOR_ENHANCED
|
|
end
|
|
cell.imgDot.color = color
|
|
end)
|
|
end
|
|
|
|
HL.Commit(EquipEnhanceLevelNode)
|
|
return EquipEnhanceLevelNode
|
|
|