5e0d58cfad
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
107 lines
2.8 KiB
Lua
107 lines
2.8 KiB
Lua
local RaidCtrl = class("RaidCtrl", BaseCtrl)
|
|
RaidCtrl._mapNodeConfig = {
|
|
TopBar = {
|
|
sNodeName = "TopBarPanel",
|
|
sCtrlName = "Game.UI.TopBarEx.TopBarCtrl"
|
|
},
|
|
blur = {
|
|
sNodeName = "t_fullscreen_blur_blue"
|
|
},
|
|
aniBlur = {
|
|
sNodeName = "t_fullscreen_blur_blue",
|
|
sComponentName = "Animator"
|
|
},
|
|
btnBlur = {
|
|
sNodeName = "snapshot",
|
|
sComponentName = "Button",
|
|
callback = "OnBtnClick_ClosePop"
|
|
},
|
|
aniReward = {
|
|
sNodeName = "----SafeAreaRoot----",
|
|
sComponentName = "Animator"
|
|
},
|
|
RaidCount = {
|
|
sNodeName = "---RaidCount---",
|
|
sCtrlName = "Game.UI.Raid.RaidCountCtrl"
|
|
},
|
|
Reward = {
|
|
sNodeName = "---Reward---",
|
|
sCtrlName = "Game.UI.Raid.RaidRewardCtrl"
|
|
}
|
|
}
|
|
RaidCtrl._mapEventConfig = {
|
|
RaidShowReward = "OnEvent_Reward",
|
|
RaidShowPop = "OnEvent_RaidShowPop",
|
|
RaidEnableClose = "OnEvent_EnableClose"
|
|
}
|
|
function RaidCtrl:OpenCount()
|
|
self.ctrlPop = self._mapNode.RaidCount
|
|
self._mapNode.RaidCount:Open(self.nId, self.nEnergy, self.nType, self.nActId)
|
|
end
|
|
function RaidCtrl:OpenReward(tbReward, mapLevelBefore, mapChangeInfo)
|
|
EventManager.Hit(EventId.SetTopBarVisible, false)
|
|
self.ctrlPop = self._mapNode.Reward
|
|
self._mapNode.Reward:Open(tbReward, mapLevelBefore, mapChangeInfo, self._mapNode.aniReward)
|
|
end
|
|
function RaidCtrl:Awake()
|
|
self.ctrlPop = nil
|
|
local tbParam = self:GetPanelParam()
|
|
self.nActId = 0
|
|
if type(tbParam) == "table" then
|
|
self.nId = tbParam[1]
|
|
self.nEnergy = tbParam[2]
|
|
self.nType = tbParam[3]
|
|
if tbParam[4] ~= nil then
|
|
self.nActId = tbParam[4]
|
|
end
|
|
end
|
|
end
|
|
function RaidCtrl:OnEnable()
|
|
self._mapNode.blur:SetActive(true)
|
|
self:OpenCount()
|
|
self._mapNode.TopBar:AddEnergyAddBtnCallBack(function()
|
|
EventManager.Hit(EventId.ClosePanel, PanelId.Raid)
|
|
end)
|
|
end
|
|
function RaidCtrl:OnDisable()
|
|
end
|
|
function RaidCtrl:OnDestroy()
|
|
end
|
|
function RaidCtrl:OnEvent_Reward(tbReward, mapLevelBefore, mapChangeInfo)
|
|
self._mapNode.btnBlur.interactable = false
|
|
if self.ctrlPop then
|
|
self.ctrlPop:PlayOutAni()
|
|
self.ctrlPop = nil
|
|
end
|
|
self:AddTimer(1, 0.2, function()
|
|
self:OpenReward(tbReward, mapLevelBefore, mapChangeInfo)
|
|
end, true, true, true)
|
|
EventManager.Hit(EventId.TemporaryBlockInput, 0.2)
|
|
end
|
|
function RaidCtrl:OnEvent_RaidShowPop(bShow)
|
|
if not bShow then
|
|
self:OnBtnClick_ClosePop()
|
|
else
|
|
self.gameObject:SetActive(true)
|
|
self._mapNode.blur:SetActive(true)
|
|
self:OpenCount()
|
|
end
|
|
end
|
|
function RaidCtrl:OnBtnClick_ClosePop()
|
|
EventManager.Hit(EventId.SetTopBarVisible, true)
|
|
if self.ctrlPop then
|
|
self.ctrlPop:PlayOutAni()
|
|
self.ctrlPop = nil
|
|
end
|
|
self._mapNode.aniBlur:SetTrigger("tOut")
|
|
self:AddTimer(1, 0.2, function()
|
|
self._mapNode.blur:SetActive(false)
|
|
EventManager.Hit(EventId.ClosePanel, PanelId.Raid)
|
|
end, true, true, true)
|
|
EventManager.Hit(EventId.TemporaryBlockInput, 0.2)
|
|
end
|
|
function RaidCtrl:OnEvent_EnableClose()
|
|
self._mapNode.btnBlur.interactable = true
|
|
end
|
|
return RaidCtrl
|