import { TransformComponent } from './TransformComponent';
const __ = {
private: Symbol('private'),
}
/**
* @class ShadowLightTransformComponent
* The shadow light transform component.
* @memberof THING
* @extends THING.TransformComponent
*/
class ShadowLightTransformComponent extends TransformComponent {
/**
* The transform component of light what can cast shadow.
*/
constructor() {
super();
this[__.private] = {};
let _private = this[__.private];
_private.target = [0, 0, 0];
}
// #region Overrides
onLookAt(position, up) {
let _private = this[__.private];
_private.target = position;
}
// #endregion
get target() {
let _private = this[__.private];
return _private.target;
}
set target(value) {
this.object.lookAt(value, { always: false });
}
}
export { ShadowLightTransformComponent }