mirror of
https://github.com/overte-org/overte.git
synced 2025-08-10 07:53:08 +02:00
Nicer way to update light Properties
This commit is contained in:
parent
efd177d80d
commit
30ea2eb722
1 changed files with 11 additions and 13 deletions
|
@ -138,29 +138,27 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var entityProperties = Entities.getEntityProperties(this.entityID);
|
var userData = getUserData(this.entityID);
|
||||||
var lightProperties = Entities.getEntityProperties(this.lightID);
|
|
||||||
var newProperties = {};
|
var newProperties = {};
|
||||||
|
|
||||||
|
// Copy only meaningful properties (trying to save space in userData here)
|
||||||
|
for (var key in userData.lightDefaultProperties) {
|
||||||
|
if (userData.lightDefaultProperties.hasOwnProperty(key)) {
|
||||||
|
newProperties[key] = userData.lightDefaultProperties[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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;
|
||||||
|
|
||||||
// Copy only meaningful properties (trying to save space in userData here)
|
|
||||||
newProperties.dimensions = lightProperties.dimensions;
|
|
||||||
newProperties.color = lightProperties.color;
|
|
||||||
newProperties.lifetime = lightProperties.lifetime;
|
|
||||||
newProperties.isSpotlight = lightProperties.isSpotlight;
|
|
||||||
newProperties.intensity = lightProperties.intensity;
|
|
||||||
newProperties.exponent = lightProperties.exponent;
|
|
||||||
newProperties.cutoff = lightProperties.cutoff;
|
|
||||||
|
|
||||||
var userData = getUserData(this.entityID);
|
|
||||||
userData.lightDefaultProperties = copyObject(newProperties);
|
userData.lightDefaultProperties = copyObject(newProperties);
|
||||||
updateUserData(this.entityID, userData);
|
updateUserData(this.entityID, userData);
|
||||||
|
|
||||||
print("Relative properties of light entity saved.");
|
print("Relative properties of light entity saved.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue