From 4461e455023645dee76ff1f51a657ec616eb161d Mon Sep 17 00:00:00 2001 From: tiennm99 Date: Sun, 12 Apr 2026 11:14:31 +0700 Subject: [PATCH] fix: reset game state flags in init() so input works on level transitions Phaser constructor only runs once; init() runs on every scene.start(). handleLevelComplete() was setting isPaused=true/inputEnabled=false which persisted into subsequent levels, freezing player input. --- src/game/scenes/Game.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/game/scenes/Game.js b/src/game/scenes/Game.js index b0ab80e..df8195b 100644 --- a/src/game/scenes/Game.js +++ b/src/game/scenes/Game.js @@ -32,9 +32,16 @@ export class Game extends Phaser.Scene { } init(data) { - // Initialize with data passed from previous scene this.currentLevel = data.level || 1; this.livesRemaining = data.lives || 3; + // Reset state flags (constructor only runs once in Phaser) + this.inputEnabled = true; + this.isPaused = false; + this.isFinalLevel = false; + this.inputCooldown = 0; + this.guards = []; + this.detectionPopup = null; + this.finalLevelMessage = null; } create() {