This commit is contained in:
2026-06-07 13:50:05 +08:00
commit aeb6dc46a4
28 changed files with 4458 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
import type { GameData, SceneNode } from '../types'
export class SceneManager {
private scenes: Record<string, SceneNode> = {}
private startScene: string = ''
load(data: GameData) {
this.scenes = data.scenes
this.startScene = data.startScene
}
getScene(id: string): SceneNode | undefined {
return this.scenes[id]
}
getStartScene(): SceneNode {
const scene = this.scenes[this.startScene]
if (!scene) throw new Error(`Start scene "${this.startScene}" not found`)
return scene
}
getAllSceneIds(): string[] {
return Object.keys(this.scenes)
}
}