e0549005e1
EN: 1.9.0.103 CN: 1.9.0.104 JP: 1.9.0.106 KR: 1.9.0.108
75 lines
2.4 KiB
Lua
75 lines
2.4 KiB
Lua
local StarTowerDifficultyNodeItemCtrl = class("StarTowerDifficultyNodeItemCtrl", BaseCtrl)
|
|
StarTowerDifficultyNodeItemCtrl._mapNodeConfig = {
|
|
advanceNodeAnim = {sNodeName = "adNode", sComponentName = "Animator"},
|
|
btnNode = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtn_SelectNode"
|
|
},
|
|
diffNode_gray = {},
|
|
txtAD = {nCount = 2, sComponentName = "TMP_Text"},
|
|
txtDiffNode = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "StarTower_Difficulty"
|
|
},
|
|
txtDiffNodeGray = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "StarTower_Difficulty"
|
|
},
|
|
Select = {},
|
|
redDotNode = {}
|
|
}
|
|
StarTowerDifficultyNodeItemCtrl._mapEventConfig = {
|
|
SelectDiffNode = "OnSelectDiffNode"
|
|
}
|
|
function StarTowerDifficultyNodeItemCtrl:RefreshNode(nNodeIndex, nCurDifficulty, bSelect, nMaxDifficulty)
|
|
self.bSelect = false
|
|
self.nNodeIndex = nNodeIndex
|
|
self.nMaxDifficulty = nMaxDifficulty or 1
|
|
self._mapNode.Select.gameObject:SetActive(false)
|
|
self._mapNode.diffNode_gray.gameObject:SetActive(nMaxDifficulty < nNodeIndex)
|
|
for _, v in ipairs(self._mapNode.txtAD) do
|
|
NovaAPI.SetTMPText(v, nNodeIndex)
|
|
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
|
|
end
|
|
function StarTowerDifficultyNodeItemCtrl:PlayAnim(sAnimName)
|
|
self._mapNode.advanceNodeAnim:Play(sAnimName)
|
|
end
|
|
function StarTowerDifficultyNodeItemCtrl: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.nNodeIndex <= self.nCurSelectDiff then
|
|
CS.WwiseAudioManager.Instance:PlaySound("ui_charinfo_levelup_select_button")
|
|
end
|
|
end
|
|
end
|
|
function StarTowerDifficultyNodeItemCtrl:OnSelectDiffNode(nDifficulty)
|
|
self.nCurSelectDiff = nDifficulty
|
|
self:SetSelect(nDifficulty == self.nNodeIndex)
|
|
end
|
|
function StarTowerDifficultyNodeItemCtrl:OnBtn_SelectNode()
|
|
if self.bSelect then
|
|
return
|
|
end
|
|
if self.nMaxDifficulty < self.nNodeIndex then
|
|
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("RegusBoss_Unlock"))
|
|
return
|
|
end
|
|
EventManager.Hit("SelectDiffNode", self.nNodeIndex)
|
|
end
|
|
function StarTowerDifficultyNodeItemCtrl:OnDisable()
|
|
end
|
|
return StarTowerDifficultyNodeItemCtrl
|