101 lines
3.5 KiB
Swift
101 lines
3.5 KiB
Swift
//
|
|
// GamesViewController.swift
|
|
// Delta
|
|
//
|
|
// Created by Riley Testut on 10/12/15.
|
|
// Copyright © 2015 Riley Testut. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
import SNESDeltaCore
|
|
|
|
class GamesViewController: UIViewController
|
|
{
|
|
var pageViewController: UIPageViewController! = nil
|
|
|
|
let supportedGameTypeIdentifiers = [kUTTypeSNESGame as String]
|
|
|
|
override func viewDidLoad()
|
|
{
|
|
super.viewDidLoad()
|
|
|
|
self.automaticallyAdjustsScrollViewInsets = false
|
|
|
|
self.pageViewController = self.childViewControllers.first as? UIPageViewController
|
|
self.pageViewController.dataSource = self
|
|
self.pageViewController.delegate = self
|
|
|
|
let viewController = self.viewControllerForIndex(0)
|
|
self.pageViewController.setViewControllers([viewController], direction: .Forward, animated: false, completion: nil)
|
|
|
|
// Do any additional setup after loading the view.
|
|
}
|
|
|
|
override func viewDidLayoutSubviews()
|
|
{
|
|
super.viewDidLayoutSubviews()
|
|
|
|
let viewController = self.pageViewController.viewControllers?.first as! GamesCollectionViewController
|
|
viewController.collectionView?.contentInset.top = self.topLayoutGuide.length
|
|
}
|
|
|
|
override func didReceiveMemoryWarning() {
|
|
super.didReceiveMemoryWarning()
|
|
// Dispose of any resources that can be recreated.
|
|
}
|
|
|
|
// MARK: - Importing -
|
|
|
|
@IBAction func importFiles()
|
|
{
|
|
let gamePickerController = GamePickerController()
|
|
gamePickerController.delegate = self
|
|
self.presentGamePickerController(gamePickerController, animated: true, completion: nil)
|
|
}
|
|
}
|
|
|
|
private extension GamesViewController
|
|
{
|
|
func viewControllerForIndex(index: Int) -> GamesCollectionViewController
|
|
{
|
|
var safeIndex = index % self.supportedGameTypeIdentifiers.count
|
|
if safeIndex < 0
|
|
{
|
|
safeIndex = self.supportedGameTypeIdentifiers.count + safeIndex
|
|
}
|
|
|
|
let viewController = self.storyboard?.instantiateViewControllerWithIdentifier("gamesCollectionViewController") as! GamesCollectionViewController
|
|
viewController.gameTypeIdentifier = self.supportedGameTypeIdentifiers[safeIndex] as String
|
|
viewController.collectionView?.contentInset.top = self.topLayoutGuide.length
|
|
|
|
return viewController
|
|
}
|
|
}
|
|
|
|
extension GamesViewController: GamePickerControllerDelegate
|
|
{
|
|
func gamePickerController(gamePickerController: GamePickerController, didImportGames games: [Game])
|
|
{
|
|
DatabaseManager.sharedManager.save()
|
|
print(games)
|
|
}
|
|
}
|
|
|
|
extension GamesViewController: UIPageViewControllerDelegate, UIPageViewControllerDataSource
|
|
{
|
|
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController?
|
|
{
|
|
let index = self.supportedGameTypeIdentifiers.indexOf((viewController as! GamesCollectionViewController).gameTypeIdentifier)
|
|
let viewController = self.viewControllerForIndex(index! - 1)
|
|
return viewController
|
|
}
|
|
|
|
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController?
|
|
{
|
|
let index = self.supportedGameTypeIdentifiers.indexOf((viewController as! GamesCollectionViewController).gameTypeIdentifier)
|
|
let viewController = self.viewControllerForIndex(index! + 1)
|
|
return viewController
|
|
}
|
|
}
|