lingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
36 lines • 1.24 kB
JavaScript
import { pullEnvironmentStack, pushEnvironmentStack, refreshEnvironmentStack } from "../states/useEnvironmentStack";
import { environmentDefaults, environmentSchema } from "../interface/IEnvironment";
import HelperSprite from "./core/utils/HelperSprite";
import { getEditorHelper } from "../states/useEditorHelper";
import MeshAppendable from "./core/MeshAppendable";
class Environment extends MeshAppendable {
static componentName = "environment";
static defaults = environmentDefaults;
static schema = environmentSchema;
constructor() {
super();
pushEnvironmentStack(this);
this.createEffect(() => {
if (!getEditorHelper() || this.$disableSceneGraph)
return;
const helper = new HelperSprite("light", this);
return () => {
helper.dispose();
};
}, [getEditorHelper]);
}
disposeNode() {
super.disposeNode();
pullEnvironmentStack(this);
}
_texture = "studio";
get texture() {
return this._texture;
}
set texture(value) {
this._texture = value;
refreshEnvironmentStack();
}
}
export default Environment;
//# sourceMappingURL=Environment.js.map