From 7b6ff9048ff5bda2721a38e0785ef9253f5b8bf7 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sat, 25 Apr 2026 03:04:00 +0200 Subject: [PATCH] auto-git: [change] src/runtime-three/runtime-host.ts --- src/runtime-three/runtime-host.ts | 42 +++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/src/runtime-three/runtime-host.ts b/src/runtime-three/runtime-host.ts index 2eade9b7..55ab8bf1 100644 --- a/src/runtime-three/runtime-host.ts +++ b/src/runtime-three/runtime-host.ts @@ -1093,19 +1093,36 @@ export class RuntimeHost { } private isRuntimePaused(): boolean { - return this.manualPauseActive || this.controlPauseActive; + return ( + this.manualPauseActive || + this.controlPauseActive || + this.dialoguePauseActive + ); } private publishRuntimePauseState(force = false) { + const pauseSources: RuntimePauseState["source"][] = []; + + if (this.manualPauseActive) { + pauseSources.push("manual"); + } + + if (this.controlPauseActive) { + pauseSources.push("control"); + } + + if (this.dialoguePauseActive) { + pauseSources.push("dialogue"); + } + const nextState: RuntimePauseState = { paused: this.isRuntimePaused(), - source: this.manualPauseActive - ? this.controlPauseActive - ? "mixed" - : "manual" - : this.controlPauseActive - ? "control" - : null + source: + pauseSources.length === 0 + ? null + : pauseSources.length === 1 + ? pauseSources[0] + : "mixed" }; if ( @@ -1143,6 +1160,15 @@ export class RuntimeHost { this.publishRuntimePauseState(); } + private setDialoguePauseActive(paused: boolean) { + if (this.dialoguePauseActive === paused) { + return; + } + + this.dialoguePauseActive = paused; + this.publishRuntimePauseState(); + } + private activateDesiredNavigationController() { if (this.runtimeScene === null || !this.sceneReady) { return;