80af235e05
EN: 1.12.0.120 CN: 1.12.0.120 JP: 1.12.0.124 KR: 1.12.0.124
142 lines
5.7 KiB
Lua
142 lines
5.7 KiB
Lua
local StarTowerBookCtrl = class("StarTowerBookCtrl", BaseCtrl)
|
|
StarTowerBookCtrl._mapNodeConfig = {
|
|
TopBar = {
|
|
sNodeName = "TopBarPanel",
|
|
sCtrlName = "Game.UI.TopBarEx.TopBarCtrl"
|
|
},
|
|
MainRoot = {
|
|
sNodeName = "---Main---",
|
|
sCtrlName = "Game.UI.StarTowerBook.StarTowerBookMainCtrl"
|
|
},
|
|
PotentialRoot = {
|
|
sNodeName = "---Potential---",
|
|
sCtrlName = "Game.UI.StarTowerBook.Potential.StarTowerPotentialBookCtrl"
|
|
},
|
|
FateCardRoot = {
|
|
sNodeName = "---FateCard---",
|
|
sCtrlName = "Game.UI.StarTowerBook.FateCard.StarTowerFateCardBookCtrl"
|
|
},
|
|
EventRoot = {
|
|
sNodeName = "---Event---",
|
|
sCtrlName = "Game.UI.StarTowerBook.Event.StarTowerEventBookCtrl"
|
|
},
|
|
QuestRoot = {
|
|
sNodeName = "---Quest---",
|
|
sCtrlName = "Game.UI.StarTowerBook.Quest.StarTowerBookQuestCtrl"
|
|
},
|
|
AffinityRoot = {
|
|
sNodeName = "---Affinity---",
|
|
sCtrlName = "Game.UI.StarTowerBook.Affinity.StarTowerNpcAffinityCtrl"
|
|
},
|
|
goBg = {},
|
|
animBg = {sNodeName = "goBg", sComponentName = "Animator"}
|
|
}
|
|
StarTowerBookCtrl._mapEventConfig = {
|
|
ChangeStarTowerBookPanel = "OnEvent_ChangeStarTowerBookPanel",
|
|
OpenStarTowerBookQuest = "OnEvent_OpenStarTowerBookQuest",
|
|
[EventId.UIBackConfirm] = "OnEvent_Back",
|
|
[EventId.UIHomeConfirm] = "OnEvent_Home"
|
|
}
|
|
StarTowerBookCtrl._mapRedDotConfig = {}
|
|
function StarTowerBookCtrl:RefreshPanel()
|
|
self._mapNode.MainRoot.gameObject:SetActive(self._panel.nPanelType == AllEnum.StarTowerBookPanelType.Main)
|
|
self._mapNode.PotentialRoot.gameObject:SetActive(self._panel.nPanelType == AllEnum.StarTowerBookPanelType.Potential)
|
|
self._mapNode.FateCardRoot.gameObject:SetActive(self._panel.nPanelType == AllEnum.StarTowerBookPanelType.FateCard)
|
|
self._mapNode.EventRoot.gameObject:SetActive(self._panel.nPanelType == AllEnum.StarTowerBookPanelType.Event)
|
|
self._mapNode.AffinityRoot.gameObject:SetActive(self._panel.nPanelType == AllEnum.StarTowerBookPanelType.Affinity)
|
|
self._mapNode.goBg.gameObject:SetActive(true)
|
|
if self.nLastPanelType ~= nil and (self.nLastPanelType == AllEnum.StarTowerBookPanelType.Event or self.nLastPanelType == AllEnum.StarTowerBookPanelType.Affinity) or self._panel.nPanelType == AllEnum.StarTowerBookPanelType.Event or self._panel.nPanelType == AllEnum.StarTowerBookPanelType.Affinity then
|
|
self._mapNode.goBg.gameObject:SetActive(false)
|
|
return
|
|
end
|
|
if self._panel.nPanelType == AllEnum.StarTowerBookPanelType.Potential or self._panel.nPanelType == AllEnum.StarTowerBookPanelType.FateCard then
|
|
self._mapNode.animBg:Play("StarTowerBookgoBg_in", 0, 0)
|
|
else
|
|
self._mapNode.animBg:Play("StarTowerBookgoBg_out", 0, 0)
|
|
end
|
|
end
|
|
function StarTowerBookCtrl:Awake()
|
|
self.nLastPanelType = nil
|
|
if self._panel.nPanelType == 0 then
|
|
self._panel.nPanelType = AllEnum.StarTowerBookPanelType.Main
|
|
end
|
|
self._mapNode.QuestRoot.gameObject:SetActive(false)
|
|
self:RefreshPanel()
|
|
self._mapNode.goBg.gameObject:SetActive(false)
|
|
end
|
|
function StarTowerBookCtrl:FadeIn()
|
|
end
|
|
function StarTowerBookCtrl:FadeOut()
|
|
end
|
|
function StarTowerBookCtrl:OnEnable()
|
|
self._mapNode.MainRoot.gameObject:SetActive(true)
|
|
self._mapNode.MainRoot:Init()
|
|
local tbParam = self:GetPanelParam()
|
|
if tbParam[1] ~= nil then
|
|
self._panel.nPanelType = tbParam[1]
|
|
tbParam = {}
|
|
end
|
|
local wait = function()
|
|
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
|
|
if self._panel.nPanelType ~= AllEnum.StarTowerBookPanelType.Main then
|
|
self:OnEvent_ChangeStarTowerBookPanel(self._panel.nPanelType)
|
|
end
|
|
end
|
|
cs_coroutine.start(wait)
|
|
end
|
|
function StarTowerBookCtrl:OnDisable()
|
|
end
|
|
function StarTowerBookCtrl:OnDestroy()
|
|
end
|
|
function StarTowerBookCtrl:OnRelease()
|
|
end
|
|
function StarTowerBookCtrl:OnEvent_ChangeStarTowerBookPanel(nPanelType)
|
|
self.nLastPanelType = self._panel.nPanelType
|
|
self._panel.nPanelType = nPanelType
|
|
if self._panel.nPanelType == AllEnum.StarTowerBookPanelType.Potential then
|
|
self:RefreshPanel()
|
|
self._mapNode.PotentialRoot:Init()
|
|
self._mapNode.TopBar:SetTitleTxt(ConfigTable.GetUIText("StarTower_Book_Potential_TopBar_Title"))
|
|
elseif self._panel.nPanelType == AllEnum.StarTowerBookPanelType.Event then
|
|
self:RefreshPanel()
|
|
self._mapNode.EventRoot:Init()
|
|
self._mapNode.TopBar:SetTitleTxt(ConfigTable.GetUIText("StarTower_Book_Event_TopBar_Title"))
|
|
elseif self._panel.nPanelType == AllEnum.StarTowerBookPanelType.FateCard then
|
|
self:RefreshPanel()
|
|
self._mapNode.FateCardRoot:Init()
|
|
self._mapNode.TopBar:SetTitleTxt(ConfigTable.GetUIText("StarTower_Book_FateCard_TopBar_Title"))
|
|
elseif self._panel.nPanelType == AllEnum.StarTowerBookPanelType.Affinity then
|
|
local callback = function()
|
|
self:RefreshPanel()
|
|
self._mapNode.AffinityRoot:Init()
|
|
self._mapNode.TopBar:SetTitleTxt(ConfigTable.GetUIText("StartowerBook_NPCAffinityTitle"))
|
|
end
|
|
PlayerData.StarTower:GetAffinity(callback)
|
|
elseif self._panel.nPanelType == AllEnum.StarTowerBookPanelType.Main then
|
|
self:RefreshPanel()
|
|
self._mapNode.MainRoot:BackToMain()
|
|
self._mapNode.TopBar:SetTitleTxt(ConfigTable.GetUIText("StarTower_Book_Main_TopBar_Title"))
|
|
end
|
|
end
|
|
function StarTowerBookCtrl:OnEvent_OpenStarTowerBookQuest(nParam)
|
|
self._mapNode.QuestRoot.gameObject:SetActive(true)
|
|
self._mapNode.QuestRoot:ShowWindow(nParam)
|
|
end
|
|
function StarTowerBookCtrl:OnEvent_Back()
|
|
if self._panel.nPanelType == AllEnum.StarTowerBookPanelType.Potential then
|
|
self._mapNode.PotentialRoot:Back()
|
|
elseif self._panel.nPanelType == AllEnum.StarTowerBookPanelType.Event then
|
|
self._mapNode.EventRoot:Back()
|
|
elseif self._panel.nPanelType == AllEnum.StarTowerBookPanelType.FateCard then
|
|
self._mapNode.FateCardRoot:Back()
|
|
elseif self._panel.nPanelType == AllEnum.StarTowerBookPanelType.Affinity then
|
|
self._mapNode.AffinityRoot:Back()
|
|
else
|
|
EventManager.Hit(EventId.ClosePanel, PanelId.StarTowerBook)
|
|
end
|
|
end
|
|
function StarTowerBookCtrl:OnEvent_Home()
|
|
PanelManager.Home()
|
|
end
|
|
return StarTowerBookCtrl
|