Files
SL1900 5e0d58cfad Initial version - 1.2.0.60
EN: 1.2.0.60
CN: 1.2.0.61
JP: 1.2.0.63
KR: 1.2.0.67
2025-12-03 01:00:00 +09:00

80 lines
2.4 KiB
Lua

local CharAdvanceNodeItemCtrl = class("CharAdvanceNodeItemCtrl", BaseCtrl)
CharAdvanceNodeItemCtrl._mapNodeConfig = {
advanceNodeAnim = {sNodeName = "adNode", sComponentName = "Animator"},
btnNode = {
sComponentName = "UIButton",
callback = "OnBtn_SelectNode"
},
advanceNode_gray = {},
txtAD = {nCount = 2, sComponentName = "TMP_Text"},
txtAdNode = {
sComponentName = "TMP_Text",
sLanguageId = "Advance_Name"
},
txtAdNodeGray = {
sComponentName = "TMP_Text",
sLanguageId = "Advance_Name"
},
Select = {},
redDotNode = {}
}
CharAdvanceNodeItemCtrl._mapEventConfig = {
SelectAdvanceNode = "OnSelectAdvanceNode"
}
function CharAdvanceNodeItemCtrl:RegisterRedDot()
RedDotManager.RegisterNode(RedDotDefine.Role_AdvanceReward, {
self.nCharId,
self.nAdvance
}, self._mapNode.redDotNode)
end
function CharAdvanceNodeItemCtrl:UnRegisterRedDot()
end
function CharAdvanceNodeItemCtrl:RefreshNode(nCharId, nAdvance, nCurAdvance, bZero, bSelect)
self.bSelect = false
self.nCharId = nCharId
self.nAdvance = nAdvance
self.nCurAdvance = nCurAdvance
self._mapNode.Select.gameObject:SetActive(false)
self._mapNode.advanceNode_gray.gameObject:SetActive(nCurAdvance < nAdvance or bZero)
for _, v in ipairs(self._mapNode.txtAD) do
NovaAPI.SetTMPText(v, nAdvance)
end
if bSelect ~= nil and bSelect == true then
self.bSelect = true
self._mapNode.Select.gameObject:SetActive(true)
self:PlayAnim("Node_idle")
self.animState = "Node_idle"
end
self:RegisterRedDot()
end
function CharAdvanceNodeItemCtrl:PlayAnim(sAnimName)
self._mapNode.advanceNodeAnim:Play(sAnimName)
end
function CharAdvanceNodeItemCtrl:SetSelect(bSelect)
if self.bSelect and not bSelect then
self:PlayAnim("Node_out")
self.animState = "Node_out"
end
self.bSelect = bSelect
self._mapNode.Select.gameObject:SetActive(bSelect)
if bSelect and self.animState ~= "Node_idle" then
self:PlayAnim("Node_in")
self.animState = "Node_idle"
if self.nAdvance <= self.nCurAdvance then
CS.WwiseAudioManager.Instance:PlaySound("ui_charinfo_levelup_select_button")
end
end
end
function CharAdvanceNodeItemCtrl:OnSelectAdvanceNode(nSelectAdvance)
self:SetSelect(nSelectAdvance == self.nAdvance)
end
function CharAdvanceNodeItemCtrl:OnBtn_SelectNode()
if self.bSelect then
return
end
EventManager.Hit("SelectAdvanceNode", self.nAdvance)
end
function CharAdvanceNodeItemCtrl:OnDisable()
end
return CharAdvanceNodeItemCtrl