5e0d58cfad
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
80 lines
2.4 KiB
Lua
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
|