From 3a7b86ff6a68cc4f37ae8bbe206bb3d5f62e10e5 Mon Sep 17 00:00:00 2001 From: wil Date: Mon, 1 Apr 2024 19:01:44 -0400 Subject: [PATCH] editorengine context --- .../ControlPanelSceneObject.tsx | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/app/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx b/app/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx index 2a496f8f71..0de3a3fa66 100644 --- a/app/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx +++ b/app/pages/PageEnigma/comps/ControlPanelSceneObject/ControlPanelSceneObject.tsx @@ -1,4 +1,4 @@ -import { useContext } from "react"; +import { useContext, useEffect } from "react"; import { Transition } from "@headlessui/react"; import { faArrowRightArrowLeft, @@ -8,6 +8,7 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { AppUiContext } from "../../contexts/AppUiContext"; +import { EngineContext } from "../../contexts/EngineContext"; import { Button, H5, InputVector } from "~/components"; import { XYZ } from "../../datastructures/common"; @@ -17,9 +18,29 @@ import { QueueNames } from "../../Queue/QueueNames"; import Queue from "~/pages/PageEnigma/Queue/Queue"; import { toTimelineActions } from "../../Queue/toTimelineActions"; import { QueueKeyframe } from "~/pages/PageEnigma/models/track"; + export const ControlPanelSceneObject = () => { + const editorEngine = useContext(EngineContext); const [appUiState, dispatchAppUiState] = useContext(AppUiContext); + if (!appUiState.controlPanel.currentSceneObject) { + return null; + } + const position = + appUiState.controlPanel.currentSceneObject.objectVectors.position; + const rotation = + appUiState.controlPanel.currentSceneObject.objectVectors.rotation; + const scale = appUiState.controlPanel.currentSceneObject.objectVectors.scale; + const currentSceneObject = appUiState.controlPanel.currentSceneObject; + + useEffect(()=>{ + console.log("when you see this, control panel experienced changes"); + console.log("use the editorengine context to propagate changes into editorengine"); + console.log("1. create update callback in engine"); + console.log("2. call the callback with values in appUiState.controlPanel") + + }, [appUiState.controlPanel.currentSceneObject]); + const handlePositionChange = (xyz: XYZ) => { if (!currentSceneObject) { console.log("Missing Scene Object Position"); @@ -126,16 +147,6 @@ export const ControlPanelSceneObject = () => { const handleDeleteObject = () =>{ console.log("TELL EDITOR TO DELETE HERE"); } - - if (!appUiState.controlPanel.currentSceneObject) { - return null; - } - const position = - appUiState.controlPanel.currentSceneObject.objectVectors.position; - const rotation = - appUiState.controlPanel.currentSceneObject.objectVectors.rotation; - const scale = appUiState.controlPanel.currentSceneObject.objectVectors.scale; - const currentSceneObject = appUiState.controlPanel.currentSceneObject; return (