UNPKG

lingo3d

Version:

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

26 lines 1.14 kB
import { jsx as _jsx } from "preact/jsx-runtime"; import { memo } from "preact/compat"; import computePerFrame from "../../memo/utils/computePerFrame"; import { getIncludeKeys } from "../../visualScripting/utils/getIncludeKeys"; import Switch from "../component/Switch"; import { forceGetInstance } from "@lincode/utils"; import { runtimeIncludeKeysMap } from "../../collections/runtimeCollections"; const getIncludeRecord = computePerFrame((manager) => { const includeKeys = getIncludeKeys(manager); const result = {}; for (const key of includeKeys) result[key] = true; return result; }); const Toggle = memo(({ manager, property }) => { return (_jsx(Switch, { compact: true, on: getIncludeRecord(manager)[property], onChange: (val) => { const runtimeIncludeKeys = forceGetInstance(runtimeIncludeKeysMap, manager, Set); if (val) runtimeIncludeKeys.add(property); else runtimeIncludeKeys.delete(property); manager.$emitEvent("runtimeSchema"); } })); }, () => true); export default Toggle; //# sourceMappingURL=Toggle.js.map