Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class AcceleratorGameController: UIViewController {
- var time: Float = 0.0
- var challengeController: ChallengeViewController!
- var delegate : GameEnded!
- override func viewDidLoad() {
- super.viewDidLoad()
- if let scene = AcceleratorGame.unarchiveFromFile("AcceleratorGame") as? AcceleratorGame {
- let skView = self.view as! SKView
- skView.showsFPS = true
- scene.viewController = self
- skView.ignoresSiblingOrder = true
- scene.scaleMode = .AspectFill
- skView.presentScene(scene)
- }
- }
- override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
- var dest : ChallengeViewController = segue.destinationViewController as! ChallengeViewController
- dest.gameHasFinished(time) //Dont know if this does anything...
- println("Segue now!")
- }
- override func viewWillDisappear(animated: Bool) {
- super.viewWillDisappear(true)
- println("View will disapear")
- delegate.gameHasFinished(self.time) // ###CRASHES HERE!###
- }
- protocol GameEnded {
- func gameHasFinished(time: Float)
- }
- class ChallengeViewController : UIViewController, GameEnded {
- var time : Float = 0.0
- override func viewDidLoad() {
- super.viewDidLoad()
- println("ChallengeViewController geladen")
- startGame()
- }
- override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
- if segue.identifier == "accelGane" {
- var vc = segue.destinationViewController as! AcceleratorGameController
- vc.delegate = self
- }
- }
- func startGame () {
- println("Start Game")
- self.showAccelGameView()
- }
- func gameHasFinished(time: Float) {
- println("Game has finished")
- self.time = time
- }
- func showAccelGameView() {
- println("Show Accel Game")
- let storyboard = UIStoryboard(name: "Main", bundle: nil)
- let vc = storyboard.instantiateViewControllerWithIdentifier("AcceleratorGameController") as! AcceleratorGameController
- self.navigationController?.pushViewController(vc, animated: true)
- }
- protocol GameEnded : class {
- func gameHasFinished(time: Float)
- }
- class AcceleratorGameController: UIViewController {
- weak var delegate : GameEnded?
- // rest of your code
- }
- class ChallengeViewController : UIViewController, GameEnded {
- var acceleratorGameController : AcceleratorGameController!
- override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
- if segue.identifier == "accelGane" {
- acceleratorGameController = segue.destinationViewController as! AcceleratorGameController
- acceleratorGameController.delegate = self
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement