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
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
local MessageBoxManager = {}
|
||||
local objMessageBoxPanel, objPopupTipsPanel, objSideBannerPanel, objOrderWaitPanel
|
||||
local OnEvent_Open = function(_, mapMsg, sLanguageId)
|
||||
if type(mapMsg) == "string" then
|
||||
mapMsg = {
|
||||
nType = AllEnum.MessageBox.Tips,
|
||||
bPositive = false,
|
||||
sContent = mapMsg
|
||||
}
|
||||
elseif mapMsg == true then
|
||||
mapMsg = {
|
||||
nType = AllEnum.MessageBox.Tips,
|
||||
bPositive = true,
|
||||
sContent = ConfigTable.GetUIText(sLanguageId)
|
||||
}
|
||||
end
|
||||
if mapMsg.nType == AllEnum.MessageBox.Tips then
|
||||
if objPopupTipsPanel == nil then
|
||||
local PopupTipsPanel = require("Game.UI.MessageBoxEx.PopupTipsPanel")
|
||||
objPopupTipsPanel = PopupTipsPanel.new(AllEnum.UI_SORTING_ORDER.MessageBoxOverlay, 0, mapMsg)
|
||||
objPopupTipsPanel:_PreEnter()
|
||||
objPopupTipsPanel:_Enter()
|
||||
else
|
||||
EventManager.Hit("ContinuePopupTips", mapMsg)
|
||||
end
|
||||
elseif objMessageBoxPanel == nil then
|
||||
local MessageBoxPanel = require("Game.UI.MessageBoxEx.MessageBoxPanel")
|
||||
objMessageBoxPanel = MessageBoxPanel.new(AllEnum.UI_SORTING_ORDER.MessageBox, 0, mapMsg)
|
||||
objMessageBoxPanel:_PreEnter()
|
||||
objMessageBoxPanel:_Enter()
|
||||
else
|
||||
EventManager.Hit("ContinueMessageBox", mapMsg)
|
||||
end
|
||||
end
|
||||
local OnEvent_ClosePopupTips = function(_)
|
||||
if objPopupTipsPanel then
|
||||
objPopupTipsPanel:_PreExit()
|
||||
objPopupTipsPanel:_Exit()
|
||||
objPopupTipsPanel:_Destroy()
|
||||
objPopupTipsPanel = nil
|
||||
end
|
||||
end
|
||||
local OnEvent_CloseMessageBox = function(_)
|
||||
if objMessageBoxPanel then
|
||||
objMessageBoxPanel:_PreExit()
|
||||
objMessageBoxPanel:_Exit()
|
||||
objMessageBoxPanel:_Destroy()
|
||||
objMessageBoxPanel = nil
|
||||
end
|
||||
end
|
||||
local OpenSideBannerPanel = function(mapMsg)
|
||||
local SideBannerPanel = require("Game.UI.SideBanner.SideBannerPanel")
|
||||
objSideBannerPanel = SideBannerPanel.new(AllEnum.UI_SORTING_ORDER.MessageBoxOverlay, 0, mapMsg)
|
||||
objSideBannerPanel:_PreEnter()
|
||||
objSideBannerPanel:_Enter()
|
||||
end
|
||||
local OnEvent_CloseSideBanner = function(_)
|
||||
if objSideBannerPanel then
|
||||
objSideBannerPanel:_PreExit()
|
||||
objSideBannerPanel:_Exit()
|
||||
objSideBannerPanel:_Destroy()
|
||||
objSideBannerPanel = nil
|
||||
end
|
||||
end
|
||||
local OnEvent_OpenSideBanner = function(_, mapMsg)
|
||||
if objSideBannerPanel == nil then
|
||||
OpenSideBannerPanel(mapMsg)
|
||||
else
|
||||
OnEvent_CloseSideBanner()
|
||||
OpenSideBannerPanel(mapMsg)
|
||||
end
|
||||
end
|
||||
local OpenOrderWaitPanel = function(mapMsg)
|
||||
local OrderWaitPanel = require("Game.UI.Mall.OrderWaitPanel")
|
||||
objOrderWaitPanel = OrderWaitPanel.new(AllEnum.UI_SORTING_ORDER.MessageBox, 0, mapMsg)
|
||||
objOrderWaitPanel:_PreEnter()
|
||||
objOrderWaitPanel:_Enter()
|
||||
end
|
||||
local OnEvent_CloseOrderWait = function(_)
|
||||
if objOrderWaitPanel then
|
||||
objOrderWaitPanel:_PreExit()
|
||||
objOrderWaitPanel:_Exit()
|
||||
objOrderWaitPanel:_Destroy()
|
||||
objOrderWaitPanel = nil
|
||||
end
|
||||
end
|
||||
local OnEvent_OpenOrderWait = function(_, mapMsg)
|
||||
if objOrderWaitPanel == nil then
|
||||
OpenOrderWaitPanel(mapMsg)
|
||||
else
|
||||
OnEvent_CloseOrderWait()
|
||||
OpenOrderWaitPanel(mapMsg)
|
||||
end
|
||||
end
|
||||
local function Uninit(_)
|
||||
EventManager.Remove(EventId.OpenMessageBox, MessageBoxManager, OnEvent_Open)
|
||||
EventManager.Remove(EventId.CloseMessageBox, MessageBoxManager, OnEvent_CloseMessageBox)
|
||||
EventManager.Remove("OpenSideBanner", MessageBoxManager, OnEvent_OpenSideBanner)
|
||||
EventManager.Remove("CloseSideBanner", MessageBoxManager, OnEvent_CloseSideBanner)
|
||||
EventManager.Remove("OpenOrderWait", MessageBoxManager, OnEvent_OpenOrderWait)
|
||||
EventManager.Remove("CloseOrderWait", MessageBoxManager, OnEvent_CloseOrderWait)
|
||||
EventManager.Remove(EventId.CSLuaManagerShutdown, MessageBoxManager, Uninit)
|
||||
end
|
||||
function MessageBoxManager.CheckOrderWaitOpen()
|
||||
return objOrderWaitPanel ~= nil
|
||||
end
|
||||
function MessageBoxManager.Init()
|
||||
EventManager.Add(EventId.OpenMessageBox, MessageBoxManager, OnEvent_Open)
|
||||
EventManager.Add(EventId.CloseMessageBox, MessageBoxManager, OnEvent_CloseMessageBox)
|
||||
EventManager.Add(EventId.ClosePopupTips, MessageBoxManager, OnEvent_ClosePopupTips)
|
||||
EventManager.Add("OpenSideBanner", MessageBoxManager, OnEvent_OpenSideBanner)
|
||||
EventManager.Add("CloseSideBanner", MessageBoxManager, OnEvent_CloseSideBanner)
|
||||
EventManager.Add("OpenOrderWait", MessageBoxManager, OnEvent_OpenOrderWait)
|
||||
EventManager.Add("CloseOrderWait", MessageBoxManager, OnEvent_CloseOrderWait)
|
||||
EventManager.Add(EventId.CSLuaManagerShutdown, MessageBoxManager, Uninit)
|
||||
end
|
||||
return MessageBoxManager
|
||||
Reference in New Issue
Block a user