lingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
23 lines • 955 B
JavaScript
import store, { createEffect } from "@lincode/reactivity";
import mainCamera from "../engine/mainCamera";
import { getCameraStack } from "./useCameraStack";
import { getEditorCamera } from "./useEditorCamera";
import { getTimelinePaused } from "./useTimelinePaused";
import { getWorldPlay } from "./useWorldPlay";
import { timelinePausedPtr } from "../pointers/timelinePausedPtr";
import { getEditorRuntime } from "./useEditorRuntime";
export const [setCameraComputed, getCameraComputed] = store(mainCamera);
createEffect(() => {
if ((!timelinePausedPtr[0] || getWorldPlay()) && !getEditorRuntime()) {
setCameraComputed(getCameraStack().at(-1) ?? getEditorCamera() ?? mainCamera);
return;
}
setCameraComputed(getEditorCamera() ?? getCameraStack().at(-1) ?? mainCamera);
}, [
getCameraStack,
getEditorCamera,
getTimelinePaused,
getWorldPlay,
getEditorRuntime
]);
//# sourceMappingURL=useCameraComputed.js.map