UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

44 lines 2.57 kB
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "preact/jsx-runtime"; import Toolbar from "../Toolbar"; import SceneGraph from "../SceneGraph"; import Editor from "../Editor"; import Library from "../Library"; import HUD from "../HUD"; import Stats from "../Stats"; import WorldBar from "../WorldBar"; import Panels from "../Panels"; import { DEBUG } from "../../globals"; import useSyncState from "../hooks/useSyncState"; import { getStats } from "../../states/useStats"; import DummyIKEditor from "../DummyIKEditor"; import GameGraphEditor from "../GameGraphEditor"; import { getGameGraph } from "../../states/useGameGraph"; import { getDummyIK } from "../../states/useDummyIK"; import prevent from "../utils/prevent"; import { getWorldExpanded } from "../../states/useWorldExpanded"; import Runtime from "../Runtime"; import World from "../World"; import { getEditorRuntime } from "../../states/useEditorRuntime"; import { useEffect } from "preact/hooks"; import MenuBar from "../MenuBar"; import { getScript } from "../../states/useScript"; import ScriptEditor from "../ScriptEditor"; import Terminal from "../Terminal"; import NewScriptDialog from "../ScriptEditor/NewScriptDialog"; const LingoEditor = () => { const stats = useSyncState(getStats); const gameGraph = useSyncState(getGameGraph); const script = useSyncState(getScript); const dummyIK = useSyncState(getDummyIK); const worldExpanded = useSyncState(getWorldExpanded); const editorRuntime = useSyncState(getEditorRuntime); useEffect(() => { document.body.classList.add("lingo3d-body"); return () => { document.body.classList.remove("lingo3d-body"); }; }, []); return (_jsxs("div", { className: "lingo3d-ui lingo3d-lingoeditor lingo3d-absfull", onContextMenu: DEBUG ? undefined : prevent, children: [!worldExpanded && (_jsxs(_Fragment, { children: [_jsx(MenuBar, {}), _jsx(Toolbar, {}), !script && _jsx(SceneGraph, {}), dummyIK ? (_jsx(DummyIKEditor, {})) : gameGraph ? (_jsx(GameGraphEditor, {})) : script ? (_jsx(ScriptEditor, {})) : (_jsx(Editor, {})), !gameGraph && !script && !dummyIK && _jsx(Library, {}), !gameGraph && !script && !dummyIK && _jsx(Panels, {})] })), _jsx(WorldBar, {}), _jsxs("div", { className: "lingo3d-world lingo3d-bg lingo3d-flexcol", style: { flexGrow: 1 }, children: [editorRuntime ? _jsx(Runtime, {}) : _jsx(World, {}), _jsx(Terminal, {})] }), stats && _jsx(Stats, {}), _jsx(HUD, {}), _jsx(NewScriptDialog, {})] })); }; export default LingoEditor; //# sourceMappingURL=index.js.map