diff options
Diffstat (limited to 'src/engine/systems/Level.ts')
-rw-r--r-- | src/engine/systems/Level.ts | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/engine/systems/Level.ts b/src/engine/systems/Level.ts index 87e12a5..824895d 100644 --- a/src/engine/systems/Level.ts +++ b/src/engine/systems/Level.ts @@ -3,8 +3,8 @@ import { Game } from ".."; import { type Level as LevelType, LEVELS, LEVEL_PROGRESSION } from "../levels"; export class Level extends System { - private unlockedLevels: Set<string>; - private currentLevel: LevelType | null; + private unlockedLevels: Set<string> = new Set(); + private currentLevel: LevelType | null = null; private moveToLevel: string | null; private levelMap: Map<string, LevelType>; @@ -16,15 +16,18 @@ export class Level extends System { this.levelMap.set(level.name, level); }); - this.currentLevel = null; this.moveToLevel = initialLevel; - this.unlockedLevels = new Set(); } public setLevel(level: string) { this.moveToLevel = level; } + public reset(game: Game) { + game.resetState(); + this.currentLevel?.init(game); + } + public update(_dt: number, game: Game) { if (this.moveToLevel === this.currentLevel?.name || !this.moveToLevel) { return; |