Limits saving save states to when SaveStatesViewController's mode is .Saving
This commit is contained in:
parent
01bf9c0e06
commit
0b9e3e2541
@ -236,6 +236,8 @@ extension EmulationViewController: SaveStatesViewControllerDelegate
|
|||||||
{
|
{
|
||||||
guard let filepath = saveState.fileURL.path else { return }
|
guard let filepath = saveState.fileURL.path else { return }
|
||||||
|
|
||||||
|
var updatingExistingSaveState = true
|
||||||
|
|
||||||
self.emulatorCore.saveSaveState { temporarySaveState in
|
self.emulatorCore.saveSaveState { temporarySaveState in
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
@ -246,6 +248,8 @@ extension EmulationViewController: SaveStatesViewControllerDelegate
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
try NSFileManager.defaultManager().moveItemAtURL(temporarySaveState.fileURL, toURL: saveState.fileURL)
|
try NSFileManager.defaultManager().moveItemAtURL(temporarySaveState.fileURL, toURL: saveState.fileURL)
|
||||||
|
|
||||||
|
updatingExistingSaveState = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch let error as NSError
|
catch let error as NSError
|
||||||
@ -263,6 +267,13 @@ extension EmulationViewController: SaveStatesViewControllerDelegate
|
|||||||
}
|
}
|
||||||
|
|
||||||
saveState.modifiedDate = NSDate()
|
saveState.modifiedDate = NSDate()
|
||||||
|
|
||||||
|
// Dismiss if updating an existing save state.
|
||||||
|
// If creating a new one, don't dismiss.
|
||||||
|
if updatingExistingSaveState
|
||||||
|
{
|
||||||
|
self.pauseViewController?.dismiss()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func saveStatesViewController(saveStatesViewController: SaveStatesViewController, loadSaveState saveState: SaveState)
|
func saveStatesViewController(saveStatesViewController: SaveStatesViewController, loadSaveState saveState: SaveState)
|
||||||
|
|||||||
@ -238,6 +238,11 @@ private extension SaveStatesViewController
|
|||||||
saveState.managedObjectContext?.saveWithErrorLogging()
|
saveState.managedObjectContext?.saveWithErrorLogging()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func loadSaveState(saveState: SaveState)
|
||||||
|
{
|
||||||
|
self.delegate?.saveStatesViewController(self, loadSaveState: saveState)
|
||||||
|
}
|
||||||
|
|
||||||
func deleteSaveState(saveState: SaveState)
|
func deleteSaveState(saveState: SaveState)
|
||||||
{
|
{
|
||||||
let confirmationAlertController = UIAlertController(title: NSLocalizedString("Confirm Deletion", comment: ""), message: NSLocalizedString("Are you sure you want to delete this save state? This cannot be undone.", comment: ""), preferredStyle: .Alert)
|
let confirmationAlertController = UIAlertController(title: NSLocalizedString("Confirm Deletion", comment: ""), message: NSLocalizedString("Are you sure you want to delete this save state? This cannot be undone.", comment: ""), preferredStyle: .Alert)
|
||||||
@ -281,7 +286,12 @@ extension SaveStatesViewController
|
|||||||
override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath)
|
override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath)
|
||||||
{
|
{
|
||||||
let saveState = self.fetchedResultsController.objectAtIndexPath(indexPath) as! SaveState
|
let saveState = self.fetchedResultsController.objectAtIndexPath(indexPath) as! SaveState
|
||||||
self.delegate?.saveStatesViewController(self, loadSaveState: saveState)
|
|
||||||
|
switch self.mode
|
||||||
|
{
|
||||||
|
case .Saving: self.updateSaveState(saveState)
|
||||||
|
case .Loading: self.loadSaveState(saveState)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override func collectionView(collectionView: UICollectionView, didEndDisplayingCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath)
|
override func collectionView(collectionView: UICollectionView, didEndDisplayingCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user