Advertisement
Guest User

Untitled

a guest
Jul 6th, 2015
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. class AcceleratorGameController: UIViewController {
  2.  
  3. var time: Float = 0.0
  4. var challengeController: ChallengeViewController!
  5. var delegate : GameEnded!
  6.  
  7. override func viewDidLoad() {
  8. super.viewDidLoad()
  9. if let scene = AcceleratorGame.unarchiveFromFile("AcceleratorGame") as? AcceleratorGame {
  10.  
  11. let skView = self.view as! SKView
  12. skView.showsFPS = true
  13. scene.viewController = self
  14.  
  15. skView.ignoresSiblingOrder = true
  16.  
  17. scene.scaleMode = .AspectFill
  18. skView.presentScene(scene)
  19. }
  20. }
  21.  
  22.  
  23. override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
  24. var dest : ChallengeViewController = segue.destinationViewController as! ChallengeViewController
  25. dest.gameHasFinished(time) //Dont know if this does anything...
  26. println("Segue now!")
  27. }
  28.  
  29. override func viewWillDisappear(animated: Bool) {
  30. super.viewWillDisappear(true)
  31. println("View will disapear")
  32.  
  33. delegate.gameHasFinished(self.time) // ###CRASHES HERE!###
  34. }
  35.  
  36. protocol GameEnded {
  37. func gameHasFinished(time: Float)
  38. }
  39.  
  40. class ChallengeViewController : UIViewController, GameEnded {
  41.  
  42. var time : Float = 0.0
  43.  
  44. override func viewDidLoad() {
  45. super.viewDidLoad()
  46. println("ChallengeViewController geladen")
  47. startGame()
  48. }
  49. override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
  50. if segue.identifier == "accelGane" {
  51. var vc = segue.destinationViewController as! AcceleratorGameController
  52. vc.delegate = self
  53. }
  54. }
  55. func startGame () {
  56. println("Start Game")
  57.  
  58. self.showAccelGameView()
  59. }
  60. func gameHasFinished(time: Float) {
  61. println("Game has finished")
  62. self.time = time
  63. }
  64. func showAccelGameView() {
  65.  
  66. println("Show Accel Game")
  67. let storyboard = UIStoryboard(name: "Main", bundle: nil)
  68. let vc = storyboard.instantiateViewControllerWithIdentifier("AcceleratorGameController") as! AcceleratorGameController
  69.  
  70. self.navigationController?.pushViewController(vc, animated: true)
  71. }
  72.  
  73. protocol GameEnded : class {
  74. func gameHasFinished(time: Float)
  75. }
  76.  
  77. class AcceleratorGameController: UIViewController {
  78.  
  79. weak var delegate : GameEnded?
  80.  
  81. // rest of your code
  82. }
  83.  
  84. class ChallengeViewController : UIViewController, GameEnded {
  85.  
  86. var acceleratorGameController : AcceleratorGameController!
  87.  
  88. override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
  89. if segue.identifier == "accelGane" {
  90. acceleratorGameController = segue.destinationViewController as! AcceleratorGameController
  91. acceleratorGameController.delegate = self
  92. }
  93. }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement