diff --git a/src/runner-web/RunnerCanvas.tsx b/src/runner-web/RunnerCanvas.tsx index cdc53614..8d5ac55e 100644 --- a/src/runner-web/RunnerCanvas.tsx +++ b/src/runner-web/RunnerCanvas.tsx @@ -9,6 +9,7 @@ import type { FirstPersonTelemetry } from "../runtime-three/navigation-controlle import { RuntimeHost, type RuntimeDialogueState, + type RuntimePauseState, type RuntimeSceneExitTransitionRequest, type RuntimeSceneLoadState } from "../runtime-three/runtime-host"; @@ -72,6 +73,10 @@ export function RunnerCanvas({ useState(null); const [runtimeDialogue, setRuntimeDialogue] = useState(null); + const [runtimePauseState, setRuntimePauseState] = useState({ + paused: false, + source: null + }); const [firstPersonTelemetry, setFirstPersonTelemetry] = useState(null); const overlayMessage = runnerMessage ?? sceneLoadState.message; @@ -126,6 +131,7 @@ export function RunnerCanvas({ onInteractionPromptChange(prompt); }); runtimeHost.setRuntimeDialogueHandler(setRuntimeDialogue); + runtimeHost.setRuntimePauseStateHandler(setRuntimePauseState); setRunnerMessage(null); return () => { @@ -134,6 +140,10 @@ export function RunnerCanvas({ setFirstPersonTelemetry(null); setInteractionPrompt(null); setRuntimeDialogue(null); + setRuntimePauseState({ + paused: false, + source: null + }); runtimeHost.dispose(); hostRef.current = null; }; @@ -204,7 +214,7 @@ export function RunnerCanvas({ return (