 //  Licensed under the MIT License. See LICENSE for more details.
 
 import UIKit
-import QuartzCore
 import SceneKit
 
 class GameViewController: UIViewController {

		// allows the user to manipulate the camera
		scnView.allowsCameraControl = true

		// show statistics such as fps and timing information
		scnView.showsStatistics = true

		// configure the view
		scnView.backgroundColor = UIColor.blackColor()

		// add a tap gesture recognizer
		let tapGesture = UITapGestureRecognizer(target: self, action: "handleTap:")
		let gestureRecognizers = NSMutableArray()
		gestureRecognizers.addObject(tapGesture)
		if let existingGestureRecognizers = scnView.gestureRecognizers {
			gestureRecognizers.addObjectsFromArray(existingGestureRecognizers)
		}
		scnView.gestureRecognizers = gestureRecognizers
	}

	func handleTap(gestureRecognize: UIGestureRecognizer) {
		// retrieve the SCNView
		let scnView = self.view as SCNView

		// check what nodes are tapped
		let p = gestureRecognize.locationInView(scnView)
		if let hitResults = scnView.hitTest(p, options: nil) {
			// check that we clicked on at least one object
			if hitResults.count > 0 {
				// retrieved the first clicked object
				let result: AnyObject! = hitResults[0]

				// get its material
				let material = result.node!.geometry!.firstMaterial!

				// highlight it
				SCNTransaction.begin()
				SCNTransaction.setAnimationDuration(0.5)

				// on completion - unhighlight
				SCNTransaction.setCompletionBlock {
					SCNTransaction.begin()
					SCNTransaction.setAnimationDuration(0.5)

					material.emission.contents = UIColor.blackColor()

					SCNTransaction.commit()
				}

				material.emission.contents = UIColor.redColor()

				SCNTransaction.commit()
			}
		}
	}

	override func shouldAutorotate() -> Bool {
		return true
	}

	override func prefersStatusBarHidden() -> Bool {

		super.viewDidLoad()

		// create a new scene
		let scene = SCNScene()

		// retrieve the SCNView
		let scnView = self.view as SCNView
