2025-06-04 05:02:57 +08:00

85 lines
2.3 KiB
Plaintext

FunctionAppStateMonitor = class("FunctionAppStateMonitor")
function FunctionAppStateMonitor.Me()
if nil == FunctionAppStateMonitor.me then
FunctionAppStateMonitor.me = FunctionAppStateMonitor.new()
end
return FunctionAppStateMonitor.me
end
function FunctionAppStateMonitor:ctor()
end
function FunctionAppStateMonitor:Reset()
if(self.monitor==nil) then
self.monitor = AppStateMonitor.Instance
end
if(self.monitor) then
self.monitor.applicationQuitHandler = nil
self.monitor.applicationPauseHandler = nil
self.monitor.applicationFocusHandler = nil
end
self:UnRegisterOrientationListener()
self.running = false
end
function FunctionAppStateMonitor:Launch()
if(self.running) then return end
self.running = true
self.monitor = AppStateMonitor.Instance
if(self.monitor) then
self.monitor.applicationQuitHandler = function ()
self:OnAppQuit()
end
self.monitor.applicationPauseHandler = function (v)
self:OnAppPause(v)
end
self.monitor.applicationFocusHandler = function (v)
self:OnAppFocus(v)
end
end
self:RegisterOrientationListener()
end
function FunctionAppStateMonitor:OnAppQuit()
-- printRed("---------OnAppQuit")
-- GameFacade.Instance:sendNotification(AppStateEvent.Quit)
Game.HandUpManager:EndHandUp()
EventManager.Me():DispatchEvent(AppStateEvent.Quit)
end
function FunctionAppStateMonitor:OnAppPause(paused)
-- printOrange("OnAppPause",paused)
-- GameFacade.Instance:sendNotification(AppStateEvent.Pause,paused)
if(paused)then
Game.HandUpManager:EndHandUp()
end
EventManager.Me():DispatchEvent(AppStateEvent.Pause,paused)
end
function FunctionAppStateMonitor:OnAppFocus(focus)
-- printOrange("OnAppFocus",focus)
-- GameFacade.Instance:sendNotification(AppStateEvent.Focus,focus)
EventManager.Me():DispatchEvent(AppStateEvent.Focus,focus)
end
function FunctionAppStateMonitor:RegisterOrientationListener()
if not BackwardCompatibilityUtil.CompatibilityMode_V16 then
SafeArea.Instance.onOrientationChanged = function(isLandscapeLeft)
self:OnOrientationChanged(isLandscapeLeft)
end
end
end
function FunctionAppStateMonitor:UnRegisterOrientationListener()
if not BackwardCompatibilityUtil.CompatibilityMode_V16 then
SafeArea.Instance.onOrientationChanged = nil
end
end
function FunctionAppStateMonitor:OnOrientationChanged(isLandscapeLeft)
Debug.Log("OnOrientationChanged !")
end