lingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
27 lines • 1.05 kB
JavaScript
import { defaultSkyLightDefaults, defaultSkyLightSchema } from "../../interface/IDefaultSkyLight";
import { getDefaultLight, setDefaultLight } from "../../states/useDefaultLight";
import SkyLight from "./SkyLight";
import throttleFrameTrailing from "../../throttle/utils/throttleFrameTrailing";
let defaultSkyLight;
const checkDefaultLight = throttleFrameTrailing(() => !defaultSkyLight && setDefaultLight(false));
class DefaultSkyLight extends SkyLight {
static componentName = "defaultSkyLight";
static defaults = defaultSkyLightDefaults;
static schema = defaultSkyLightSchema;
constructor() {
super();
this.x = 500;
this.y = 1000;
this.z = 1000;
defaultSkyLight?.dispose();
defaultSkyLight = this;
}
disposeNode() {
super.disposeNode();
defaultSkyLight = undefined;
checkDefaultLight();
}
}
export default DefaultSkyLight;
getDefaultLight((val) => val ? new DefaultSkyLight() : defaultSkyLight?.dispose());
//# sourceMappingURL=DefaultSkyLight.js.map