From 077de2a64e4427b87b4105d94d985dc06f3c787a Mon Sep 17 00:00:00 2001 From: cocos02 Date: Mon, 8 Jun 2026 15:02:38 +0800 Subject: [PATCH] fix: emit sceneChange before video start to avoid hotspot flash, prevent game end for hotspot-only scenes --- engine/core/Engine.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/engine/core/Engine.ts b/engine/core/Engine.ts index 2352005..62eaf10 100644 --- a/engine/core/Engine.ts +++ b/engine/core/Engine.ts @@ -70,6 +70,8 @@ export class Engine { return } + this.emit('sceneChange', scene) + const preloadUrls = this.sceneManager.getCandidateUrls( scene, (conds) => conds ? this.stateManager.evaluate(conds) : true @@ -88,8 +90,6 @@ export class Engine { } else { this.videoManager.switchTo(scene.videoUrl, preloadUrls) } - - this.emit('sceneChange', scene) } private checkQTE = (time: number) => { @@ -205,6 +205,9 @@ export class Engine { } else { this.endGame() } + } else if (scene.hotspots?.length) { + // hotspot-only scene: wait for user to click a hotspot + return } else { this.endGame() }