feat: P25 conditional routing, nextScene supports Choice[] with conditions
This commit is contained in:
@@ -296,11 +296,26 @@ export class Engine {
|
||||
}
|
||||
)
|
||||
} else if (scene.nextScene) {
|
||||
const next = this.sceneManager.getScene(scene.nextScene)
|
||||
if (next) {
|
||||
this.goToScene(next)
|
||||
} else {
|
||||
if (Array.isArray(scene.nextScene)) {
|
||||
for (const route of scene.nextScene) {
|
||||
if (!route.conditions || this.stateManager.evaluate(route.conditions)) {
|
||||
const next = this.sceneManager.getScene(route.targetScene)
|
||||
if (next) {
|
||||
this.goToScene(next)
|
||||
} else {
|
||||
this.endGame()
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
this.endGame()
|
||||
} else {
|
||||
const next = this.sceneManager.getScene(scene.nextScene)
|
||||
if (next) {
|
||||
this.goToScene(next)
|
||||
} else {
|
||||
this.endGame()
|
||||
}
|
||||
}
|
||||
} else if (scene.hotspots?.length) {
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user