mirror of
https://github.com/tengge1/ShadowEditor.git
synced 2026-01-25 15:08:11 +00:00
43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
import BaseSerializer from '../BaseSerializer';
|
|
import Object3DSerializer from '../core/Object3DSerializer';
|
|
import LightShadowsSerializer from './shadow/LightShadowsSerializer';
|
|
|
|
/**
|
|
* LightSerializer
|
|
* @author tengge / https://github.com/tengge1
|
|
*/
|
|
function LightSerializer() {
|
|
BaseSerializer.call(this);
|
|
}
|
|
|
|
LightSerializer.prototype = Object.create(BaseSerializer.prototype);
|
|
LightSerializer.prototype.constructor = LightSerializer;
|
|
|
|
LightSerializer.prototype.toJSON = function (obj) {
|
|
var json = Object3DSerializer.prototype.toJSON.call(this, obj);
|
|
|
|
json.color = obj.color;
|
|
json.intensity = obj.intensity;
|
|
json.isLight = obj.isLight;
|
|
json.shadow = obj.shadow == null ? null : (new LightShadowsSerializer()).toJSON(obj.shadow);
|
|
|
|
return json;
|
|
};
|
|
|
|
LightSerializer.prototype.fromJSON = function (json, parent) {
|
|
var obj = parent === undefined ? new THREE.Light() : parent;
|
|
|
|
Object3DSerializer.prototype.fromJSON.call(this, json, obj);
|
|
|
|
obj.color = new THREE.Color(json.color);
|
|
obj.intensity = json.intensity;
|
|
obj.isLight = json.isLight;
|
|
|
|
if (json.shadow) {
|
|
obj.shadow = (new LightShadowsSerializer()).fromJSON(json.shadow);
|
|
}
|
|
|
|
return obj;
|
|
};
|
|
|
|
export default LightSerializer; |