From 1ded2f42e521b1ed28841f3c5d7312cbb4749a60 Mon Sep 17 00:00:00 2001 From: Andrew Kesterson Date: Sat, 12 Jul 2014 23:33:24 -0700 Subject: [PATCH] Close #11 : Guards catching you will trigger the end game screen --- moonlight/gfx/ui/gameover.png | Bin 0 -> 6157 bytes moonlight/src/AISprite.js | 7 +++++-- moonlight/src/GameStates.js | 35 +++++++++++++++++++++++++++++++--- moonlight/src/Settings.js | 4 ++++ 4 files changed, 41 insertions(+), 5 deletions(-) create mode 100644 moonlight/gfx/ui/gameover.png diff --git a/moonlight/gfx/ui/gameover.png b/moonlight/gfx/ui/gameover.png new file mode 100644 index 0000000000000000000000000000000000000000..a339b6a2187c060e6052ea9ea5ad77c9a5265a19 GIT binary patch literal 6157 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 0 && this.path_index >= this.path.length && hasState(this, STATE_RUNNINGTOREPORT) ) { @@ -761,8 +766,6 @@ var AISprite = function(game, x, y, key, frame) { { if ( this.ready_to_update == false ) return; - // if ( hasState(this, STATE_CONVERSING) == true && game.tweens.isTweening(this) ) - // throw "WHY THE FUCK AM I STILL TWEENING"; if ( isSet(this.awareness_effect) ) { if ( this.awareness_effect.alive == false ) { diff --git a/moonlight/src/GameStates.js b/moonlight/src/GameStates.js index 222f404..cd9d581 100644 --- a/moonlight/src/GameStates.js +++ b/moonlight/src/GameStates.js @@ -466,6 +466,34 @@ GameState.prototype.update = function() this.scoreText.setText("" + player.score); } +GameState.prototype.shutdown = function() +{ + this.aiSprites.setAll('ready_to_update', false); + this.aiSprites.destroy(); + this.aiSprites = null; + this.uigroup.destroy(); + this.uigroup = null; + this.recentlyStolenGroup.destroy(); + this.clock = null; + this.clockTimer.stop(); + this.bubble_group.destroy(); + this.effectSprites.destroy(); + this.shadowTextureColor = null; + this.staticSounds.forEach(function(x) { + x.sound.stop(); + game.sound.remove(x); + }, this); + this.map_collision_layers.forEach(function(x) { + x.destroy(); + }, this); + this.map.destroy(); + pathfinder_grid = null; + pathfinder = null; + this.shadowSprite.destroy(); + this.staticLights.destroy(); + this.staticSounds.destroy(); +} + var Boot = function(game) { } @@ -565,7 +593,8 @@ var EndScreen = function(game) { EndScreen.prototype.create = function() { - this.scoreText = this.game.add.text( - 320, 240, 'GAME OVER', - { font: '32px Arial', fill: '#ffffff' }); + this.gameOverText = game.add.image((640/2), + (480/2), + 'gameover'); + this.gameOverText.anchor.setTo(0.5, 0.5); } diff --git a/moonlight/src/Settings.js b/moonlight/src/Settings.js index 01ce69f..28f1cf7 100644 --- a/moonlight/src/Settings.js +++ b/moonlight/src/Settings.js @@ -147,6 +147,10 @@ var moonlightSettings = { } ], 'images': [ + { + 'name': 'gameover', + 'path': 'gfx/ui/gameover.png' + }, { 'name': 'hud', 'path': 'gfx/ui/hud.png'