From ac45f9cd41cda0793c8fe7c9fef1efa426d58b2c Mon Sep 17 00:00:00 2001 From: Michael Chung <6252325+ArEnSc@users.noreply.github.com> Date: Thu, 11 Apr 2024 13:56:57 -0400 Subject: [PATCH] Scene loading works --- app/pages/PageEnigma/PageEnigmaComponent.tsx | 15 ++++++++++++--- app/pages/PageEnigma/js/editor.ts | 13 ++++++++++++- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/app/pages/PageEnigma/PageEnigmaComponent.tsx b/app/pages/PageEnigma/PageEnigmaComponent.tsx index 4ed8afb801..1990b77544 100644 --- a/app/pages/PageEnigma/PageEnigmaComponent.tsx +++ b/app/pages/PageEnigma/PageEnigmaComponent.tsx @@ -5,6 +5,8 @@ import { AppUiContext } from "~/contexts/AppUiContext"; import { EngineContext } from "~/contexts/EngineContext"; import { PageEditor } from "~/pages/PageEnigma/PageEditor"; import { PageStyling } from "~/pages/PageEnigma/PageStyling"; +import { useParams } from "@remix-run/react"; + export const PageEnigmaComponent = () => { useSignals(); @@ -12,13 +14,20 @@ export const PageEnigmaComponent = () => { const [, dispatchAppUiState] = useContext(AppUiContext); const editor = useContext(EngineContext); const [page, setPage] = useState("edit"); - + const params = useParams(); + console.log(params); + useEffect(() => { if (editor && editor.can_initialize && dispatchAppUiState !== null) { console.log("initializing Editor"); + + // get scene token for editor is it is provided + console.log(`params?!?!: ${params["sceneToken"]}`); + const sceneToken = params["sceneToken"] + console.log(sceneToken) editor.initialize({ - dispatchAppUiState, - }); + dispatchAppUiState + },sceneToken); } }, [editor, dispatchAppUiState]); diff --git a/app/pages/PageEnigma/js/editor.ts b/app/pages/PageEnigma/js/editor.ts index 805fc5bdff..91ab9422bd 100644 --- a/app/pages/PageEnigma/js/editor.ts +++ b/app/pages/PageEnigma/js/editor.ts @@ -215,7 +215,12 @@ class Editor { ); } - initialize(config: any) { + isEmpty(value:string) { + return (value == null || (typeof value === "string" && value.trim().length === 0)); + } + + initialize(config: any,sceneToken) { + //setup reactland Callbacks this.dispatchAppUiState = config.dispatchAppUiState; @@ -346,6 +351,12 @@ class Editor { this.cam_obj = this.activeScene.get_object_by_name("::CAM::"); + if (this.isEmpty(sceneToken) == false) { + console.log(`${sceneToken}`) + this.loadScene(sceneToken) + } else { + console.log("No Scene Token") + } this.dispatchAppUiState({ type: APPUI_ACTION_TYPES.UPDATE_EDITOR_LOADINGBAR, payload: {