From cede2b1b5b56719a7d3415b655b7efddfc208ce9 Mon Sep 17 00:00:00 2001 From: Viktor Lidholt Date: Wed, 29 Jul 2015 13:54:14 -0700 Subject: [PATCH] Adds delay between game over and return to main screen in demo game --- sky/packages/sky/example/game/lib/game_demo_world.dart | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sky/packages/sky/example/game/lib/game_demo_world.dart b/sky/packages/sky/example/game/lib/game_demo_world.dart index 2ed3c4f3f87..439476fae70 100644 --- a/sky/packages/sky/example/game/lib/game_demo_world.dart +++ b/sky/packages/sky/example/game/lib/game_demo_world.dart @@ -46,6 +46,7 @@ class GameDemoWorld extends NodeWithSize { // Game state int _numFrames = 0; bool _isGameOver = false; + int _gameOverFrame; int _currentLevel = 0; // Heads up display @@ -320,6 +321,11 @@ class GameDemoWorld extends NodeWithSize { if (_numFrames > _numFramesShieldActive) _shield.visible = false; else if (_numFrames > _numFramesShieldActive - _numFramesShieldFlickers) _shield.visible = !_shield.visible; + // Check for exit back to main screen + if (_isGameOver && _numFrames - _gameOverFrame == 60) { + _navigator.pop(); + } + _numFrames++; } @@ -350,6 +356,7 @@ class GameDemoWorld extends NodeWithSize { // Set game over _isGameOver = true; + _gameOverFrame = _numFrames; _gameOverCallback(_hud.score); // Remove the ship @@ -357,8 +364,6 @@ class GameDemoWorld extends NodeWithSize { // Add an explosion addExplosion(AsteroidSize.large, _ship.position); - - _navigator.pop(); } // Handling controls