lingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
36 lines • 1.16 kB
JavaScript
import Appendable from "./core/Appendable";
import setupStruct from "../api/settings/setupStruct";
import { setupDefaults, setupSchema } from "../interface/ISetup";
import unsafeGetValue from "../utils/unsafeGetValue";
import unsafeSetValue from "../utils/unsafeSetValue";
let setup;
const setupStructDefaults = { ...setupStruct };
class Setup extends Appendable {
static componentName = "setup";
static defaults = setupDefaults;
static schema = setupSchema;
constructor() {
super();
this.$disableSceneGraph = true;
setup?.dispose();
setup = this;
}
disposeNode() {
super.disposeNode();
setup = undefined;
Object.assign(setupStruct, setupStructDefaults);
}
}
for (const key of Object.keys(setupSchema))
key !== "uuid" &&
Object.defineProperty(Setup.prototype, key, {
get() {
return unsafeGetValue(setupStruct, key);
},
set(value) {
unsafeSetValue(setupStruct, key, value);
}
});
export default Setup;
export const defaultSetup = new Setup();
//# sourceMappingURL=Setup.js.map