58 lines
1.8 KiB
Lua
58 lines
1.8 KiB
Lua
local UIWidgetBase = require_ex('Common/Core/UIWidgetBase')
|
|
|
|
|
|
|
|
|
|
GemSkillEnhanceCell = HL.Class('GemSkillEnhanceCell', UIWidgetBase)
|
|
|
|
|
|
|
|
|
|
GemSkillEnhanceCell._OnFirstTimeInit = HL.Override() << function(self)
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GemSkillEnhanceCell.InitGemSkillEnhanceCell = HL.Method(HL.Table) << function(self, args)
|
|
self:_FirstTimeInit()
|
|
|
|
local isEmpty = args == nil or args.termId == nil
|
|
self.view.noSkillNode.gameObject:SetActive(isEmpty)
|
|
self.view.skillNode.gameObject:SetActive(not isEmpty)
|
|
if isEmpty then
|
|
return
|
|
end
|
|
local _, termCfg = Tables.gemTable:TryGetValue(args.termId)
|
|
if not termCfg then
|
|
logger.LogError("GemSkillEnhanceCell.InitGemSkillEnhanceCell: termCfg is nil, termId = " .. tostring(args.termId))
|
|
return
|
|
end
|
|
self.view.skillNode.txtAttrName:SetAndResolveTextStyle(string.format(Language.LUA_GEM_CARD_SKILL_ACTIVE, termCfg.tagName))
|
|
self.view.skillNode.rankValue.text = string.format(Language.LUA_WEAPON_EXHIBIT_UPGRADE_ADD_FORMAT, args.termLevel)
|
|
CSUtils.UIContainerResize(self.view.skillNode.levelNode, args.termLevel, 1)
|
|
if args.onClick then
|
|
self.view.skillNode.btnEnhance.onClick:RemoveAllListeners()
|
|
self.view.skillNode.btnEnhance.onClick:AddListener(function()
|
|
args.onClick(args.termId, args.termLevel)
|
|
end)
|
|
end
|
|
self.view.stateController:SetState("notTarget")
|
|
self.view.skillNode.btnEnhance.onIsNaviTargetChanged = function(isTarget)
|
|
local stateName = isTarget and "naviTarget" or "notTarget"
|
|
self.view.stateController:SetState(stateName)
|
|
end
|
|
local isMax = CharInfoUtils.isGemTermEnhanceMax(args.termId, args.termLevel)
|
|
self.view.skillNode.stateController:SetState(isMax and "Max" or "Normal")
|
|
end
|
|
|
|
HL.Commit(GemSkillEnhanceCell)
|
|
return GemSkillEnhanceCell
|
|
|