Update: CC - Before Render - Moorcow (72d6a2a3kc.js) 529 bytes modified

beta.r3js.org
-=yb4f310 2017-11-15 08:43:39 +01:00
parent 999ed43f4b
commit 9a08d27c70
1 changed files with 15 additions and 5 deletions

View File

@ -16,6 +16,7 @@ if (GameLib.Utils.UndefinedOrNull(this.initialized)) {
this.raycaster = this.entityLoaded.raycaster; this.raycaster = this.entityLoaded.raycaster;
this.scene = this.entityLoaded.scene; this.scene = this.entityLoaded.scene;
this.smokeParticleEngine = this.entityLoaded.smokeParticleEngine; this.smokeParticleEngine = this.entityLoaded.smokeParticleEngine;
this.fireParticleEngine = this.entityLoaded.fireParticleEngine;
this.toBlack = new THREE.Color(0.05, 0.05, 0.05); this.toBlack = new THREE.Color(0.05, 0.05, 0.05);
this.toRed = new THREE.Color(0.02, 0, 0); this.toRed = new THREE.Color(0.02, 0, 0);
@ -198,11 +199,17 @@ if (GameLib.Utils.UndefinedOrNull(this.initialized)) {
if (enemy.mesh === mesh && !enemy.burning) { if (enemy.mesh === mesh && !enemy.burning) {
console.log('burning enemy ' + mesh.name); console.log('burning enemy ' + mesh.name);
enemy.burning = true; enemy.burning = true;
var particleEngine = this.smokeParticleEngine.clone(); var smokeParticleEngine = this.smokeParticleEngine.clone();
particleEngine.position = mesh.position.clone(); smokeParticleEngine.position = mesh.position.clone();
particleEngine.updateInstance('position'); smokeParticleEngine.updateInstance('position');
particleEngine.enabled = true; smokeParticleEngine.enabled = true;
enemy.smokeParticleEngine = particleEngine; enemy.smokeParticleEngine = smokeParticleEngine;
var fireParticleEngine = this.fireParticleEngine.clone();
fireParticleEngine.position = mesh.position.clone();
fireParticleEngine.updateInstance('position');
fireParticleEngine.enabled = true;
enemy.fireParticleEngine = fireParticleEngine;
} }
}.bind(this) }.bind(this)
); );
@ -315,11 +322,14 @@ this.enemies = this.enemies.reduce(
enemy.burnTime += data.delta; enemy.burnTime += data.delta;
if (enemy.burnTime > enemy.burnLife) { if (enemy.burnTime > enemy.burnLife) {
enemy.smokeParticleEngine.remove(); enemy.smokeParticleEngine.remove();
enemy.fireParticleEngine.remove();
enemy.lifeTime = enemy.life + 1; enemy.lifeTime = enemy.life + 1;
enemy.burning = false; enemy.burning = false;
} else { } else {
enemy.smokeParticleEngine.position = enemy.mesh.position.clone(); enemy.smokeParticleEngine.position = enemy.mesh.position.clone();
enemy.smokeParticleEngine.updateInstance('position'); enemy.smokeParticleEngine.updateInstance('position');
enemy.fireParticleEngine.position = enemy.mesh.position.clone();
enemy.fireParticleEngine.updateInstance('position');
} }
} }