components can store references to other components - not objects

beta.r3js.org
Theunis J. Botha 2016-12-21 16:06:30 +01:00
parent 063d88f920
commit 50713b8315
2 changed files with 22 additions and 8 deletions

View File

@ -348,10 +348,21 @@ GameLib.D3.Mesh.prototype.createInstance = function(update) {
this.position.y = this.parentMesh.position.y;
this.position.z = this.parentMesh.position.z;
this.quaternion.x = this.parentMesh.quaternion.x;
this.quaternion.y = this.parentMesh.quaternion.y;
this.quaternion.z = this.parentMesh.quaternion.z;
this.quaternion.w = this.parentMesh.quaternion.w;
// var euler = new THREE.Euler();
//
// var worldRotation = this.parentMesh.instance.getWorldRotation();
//
// this.instance.setRotationFromEuler(euler);
// this.quaternion.x = this.parentMesh.quaternion.x;
// this.quaternion.y = this.parentMesh.quaternion.y;
// this.quaternion.z = this.parentMesh.quaternion.z;
// this.quaternion.w = this.parentMesh.quaternion.w;
} else {
instance.quaternion.x = this.quaternion.x;
instance.quaternion.y = this.quaternion.y;
instance.quaternion.z = this.quaternion.z;
instance.quaternion.w = this.quaternion.w;
}
instance.position.x = this.position.x + this.localPosition.x;
@ -366,10 +377,7 @@ GameLib.D3.Mesh.prototype.createInstance = function(update) {
instance.up.y = this.up.y;
instance.up.z = this.up.z;
instance.quaternion.x = this.quaternion.x;
instance.quaternion.y = this.quaternion.y;
instance.quaternion.z = this.quaternion.z;
instance.quaternion.w = this.quaternion.w;
instance.rotateX(this.localRotation.x);
instance.rotateY(this.localRotation.y);

View File

@ -29,6 +29,12 @@ GameLib.System.Animation.prototype.update = function(deltaTime) {
object.update(deltaTime);
});
objects = this.entityManager.query([GameLib.D3.Mesh]);
objects.forEach(function(object) {
object.updateInstance();
});
objects = this.entityManager.query([GameLib.D3.Follow]);
objects.forEach(function(object) {