UNPKG

mylingo3d

Version:

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

30 lines (29 loc) 1.46 kB
import { Reactive } from "@lincode/reactivity"; import { DirectionalLightHelper, Group, Light, PointLightHelper, SpotLightHelper } from "three"; import { RectAreaLightHelper } from "three/examples/jsm/helpers/RectAreaLightHelper"; import ILightBase from "../../interface/ILightBase"; import ObjectManager from "./ObjectManager"; export default abstract class LightBase<T extends typeof Light> extends ObjectManager<Group> implements ILightBase { protected lightState: Reactive<InstanceType<T> | undefined>; protected defaultShadowResolution: number; protected defaultShadowBias: number; protected shadowResolutionComputedState: Reactive<number | undefined>; protected shadowBiasComputedState: Reactive<number | undefined>; constructor(Light: T, Helper?: typeof DirectionalLightHelper | typeof SpotLightHelper | typeof PointLightHelper | typeof RectAreaLightHelper); private helperState; get helper(): boolean; set helper(val: boolean); private castShadowState; get castShadow(): boolean; set castShadow(val: boolean); private shadowResolutionState; get shadowResolution(): number | undefined; set shadowResolution(val: number | undefined); private shadowBiasState; get shadowBias(): number | undefined; set shadowBias(val: number | undefined); get color(): string; set color(val: string); get intensity(): number; set intensity(val: number); }