diff --git a/engine/core/Engine.ts b/engine/core/Engine.ts index 2223845..f0bff83 100644 --- a/engine/core/Engine.ts +++ b/engine/core/Engine.ts @@ -27,6 +27,8 @@ export class Engine { this.stateManager = new StateManager() this.choiceSystem = new ChoiceSystem() this.qteSystem = new QTESystem() + + this.videoManager.onTimeUpdate(this.checkQTE) } on(event: EngineEvent, handler: EventHandler) { @@ -70,10 +72,6 @@ export class Engine { } }) - this.videoManager.onTimeUpdate((time) => { - this.checkQTE(scene, time) - }) - if (this.isInitialScene) { this.isInitialScene = false this.videoManager.playInitial(scene.videoUrl, preloadUrls) @@ -84,9 +82,9 @@ export class Engine { this.emit('sceneChange', scene) } - private checkQTE(scene: SceneNode, time: number) { - if (this.currentScene?.id !== scene.id) return - if (!scene.qte || this.qteTriggered) return + private checkQTE = (time: number) => { + const scene = this.currentScene + if (!scene?.qte || this.qteTriggered) return if (time >= scene.qte.triggerTime) { this.qteTriggered = true const qte = scene.qte