Update from light properties

This commit is contained in:
Atlante45 2015-03-23 18:36:40 +01:00
parent ea0f3f05e7
commit c26f17e16b

View file

@ -146,23 +146,23 @@
} }
var userData = getUserData(this.entityID); var userData = getUserData(this.entityID);
var entityProperties = Entities.getEntityProperties(this.entityID);
var lightProperties = Entities.getEntityProperties(this.lightID);
var newProperties = {}; var newProperties = {};
// Copy only meaningful properties (trying to save space in userData here) // Copy only meaningful properties (trying to save space in userData here)
for (var key in userData.lightDefaultProperties) { for (var key in userData.lightDefaultProperties) {
if (userData.lightDefaultProperties.hasOwnProperty(key)) { if (userData.lightDefaultProperties.hasOwnProperty(key)) {
newProperties[key] = userData.lightDefaultProperties[key]; newProperties[key] = lightProperties[key];
} }
} }
// Compute new relative position // Compute new relative position
var entityProperties = Entities.getEntityProperties(this.entityID);
var lightProperties = Entities.getEntityProperties(this.lightID);
newProperties.position = Quat.multiply(Quat.inverse(entityProperties.rotation), newProperties.position = Quat.multiply(Quat.inverse(entityProperties.rotation),
Vec3.subtract(lightProperties.position, Vec3.subtract(lightProperties.position,
entityProperties.position)); entityProperties.position));
// inverse "visible" because right after we loaded the properties, the light entity is toggled. // inverse "visible" because right after we loaded the properties, the light entity is toggled.
newProperties.visible = !lightProperties.visible; newProperties.visible = !lightProperties.visible;
userData.lightDefaultProperties = copyObject(newProperties); userData.lightDefaultProperties = copyObject(newProperties);
updateUserData(this.entityID, userData); updateUserData(this.entityID, userData);