UNPKG

lingo3d

Version:

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

44 lines 1.78 kB
import { jsx as _jsx } from "preact/jsx-runtime"; import { signal } from "@preact/signals"; import createObject from "../../api/serializer/createObject"; import { getGameGraph } from "../../states/useGameGraph"; import ContextMenu from "../component/ContextMenu"; import MenuButton from "../component/MenuButton"; import { getStagePosition } from "./Stage/stageSignals"; export const stageContextMenuSignal = signal(undefined); const StageContextMenu = () => { return (_jsx(ContextMenu, { positionSignal: stageContextMenuSignal, input: stageContextMenuSignal.value?.create && { label: "Node name", onInput: (value) => { const gameGraph = getGameGraph(); const manager = createObject(value); gameGraph.append(manager); const { x, y } = stageContextMenuSignal.value; gameGraph.mergeData({ [manager.uuid]: { type: "node", ...getStagePosition(x, y) } }); }, options: [ "mathNode", "numberNode", "addNode", "projectionNode", "spawnNode", "loopNode", "mouse", "keyboard", "joystick" ] }, children: _jsx(MenuButton, { onClick: () => { stageContextMenuSignal.value = { x: stageContextMenuSignal.value?.x ?? 0, y: stageContextMenuSignal.value?.y ?? 0, create: true }; }, children: "Create node" }) })); }; export default StageContextMenu; //# sourceMappingURL=StageContextMenu.js.map