diff --git a/Delta/Emulation/EmulationViewController.swift b/Delta/Emulation/EmulationViewController.swift index cbed37c..ee4e401 100644 --- a/Delta/Emulation/EmulationViewController.swift +++ b/Delta/Emulation/EmulationViewController.swift @@ -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: - - /// extension EmulationViewController: GameControllerReceiverType