Responds to app lifecycle events by pausing/resuming emulation

This commit is contained in:
Riley Testut 2016-05-21 03:05:28 -05:00
parent 509cb4b136
commit db9bd94667

View File

@ -65,6 +65,9 @@ class EmulationViewController: UIViewController
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(EmulationViewController.updateControllers), name: ExternalControllerDidConnectNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(EmulationViewController.updateControllers), name: ExternalControllerDidDisconnectNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(EmulationViewController.willResignActive(_:)), name: UIApplicationWillResignActiveNotification, object: UIApplication.sharedApplication())
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(EmulationViewController.didBecomeActive(_:)), name: UIApplicationDidBecomeActiveNotification, object: UIApplication.sharedApplication())
}
deinit
@ -410,6 +413,23 @@ extension EmulationViewController: CheatsViewControllerDelegate
}
}
//MARK: - App Lifecycle -
private extension EmulationViewController
{
@objc func willResignActive(notification: NSNotification)
{
self.emulatorCore.pauseEmulation()
}
@objc func didBecomeActive(notification: NSNotification)
{
if self.pauseViewController == nil
{
self.emulatorCore.resumeEmulation()
}
}
}
//MARK: - <GameControllerReceiver> -
/// <GameControllerReceiver>
extension EmulationViewController: GameControllerReceiverType