// // Game.swift // Delta // // Created by Riley Testut on 10/3/15. // Copyright © 2015 Riley Testut. All rights reserved. // import Foundation import CoreData import DeltaCore import SNESDeltaCore public let kUTTypeGBAGame: CFStringRef = "com.rileytestut.delta.game.gba" extension Game { enum Attributes: String { case artworkURL case filename case identifier case name case typeIdentifier case gameCollections } } @objc(Game) class Game: NSManagedObject, GameType { @NSManaged var artworkURL: NSURL? @NSManaged var filename: String @NSManaged var identifier: String @NSManaged var name: String @NSManaged var typeIdentifier: String @NSManaged var gameCollections: Set var fileURL: NSURL { let fileURL = DatabaseManager.gamesDirectoryURL.URLByAppendingPathComponent(self.filename) return fileURL } var preferredFileExtension: String { switch self.typeIdentifier { case kUTTypeSNESGame as String as String: return "smc" case kUTTypeGBAGame as String as String: return "gba" case kUTTypeDeltaGame as String as String: fallthrough default: return "delta" } } } extension Game { class func supportedTypeIdentifiers() -> Set { return [kUTTypeSNESGame as String, kUTTypeGBAGame as String] } }