diff --git a/72d6a2a3kc.js b/72d6a2a3kc.js index 675530e..59c810d 100644 --- a/72d6a2a3kc.js +++ b/72d6a2a3kc.js @@ -16,6 +16,7 @@ if (GameLib.Utils.UndefinedOrNull(this.initialized)) { this.raycaster = this.entityLoaded.raycaster; this.scene = this.entityLoaded.scene; this.smokeParticleEngine = this.entityLoaded.smokeParticleEngine; + this.fireParticleEngine = this.entityLoaded.fireParticleEngine; this.toBlack = new THREE.Color(0.05, 0.05, 0.05); 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) { console.log('burning enemy ' + mesh.name); enemy.burning = true; - var particleEngine = this.smokeParticleEngine.clone(); - particleEngine.position = mesh.position.clone(); - particleEngine.updateInstance('position'); - particleEngine.enabled = true; - enemy.smokeParticleEngine = particleEngine; + var smokeParticleEngine = this.smokeParticleEngine.clone(); + smokeParticleEngine.position = mesh.position.clone(); + smokeParticleEngine.updateInstance('position'); + smokeParticleEngine.enabled = true; + enemy.smokeParticleEngine = smokeParticleEngine; + + var fireParticleEngine = this.fireParticleEngine.clone(); + fireParticleEngine.position = mesh.position.clone(); + fireParticleEngine.updateInstance('position'); + fireParticleEngine.enabled = true; + enemy.fireParticleEngine = fireParticleEngine; } }.bind(this) ); @@ -315,11 +322,14 @@ this.enemies = this.enemies.reduce( enemy.burnTime += data.delta; if (enemy.burnTime > enemy.burnLife) { enemy.smokeParticleEngine.remove(); + enemy.fireParticleEngine.remove(); enemy.lifeTime = enemy.life + 1; enemy.burning = false; } else { enemy.smokeParticleEngine.position = enemy.mesh.position.clone(); enemy.smokeParticleEngine.updateInstance('position'); + enemy.fireParticleEngine.position = enemy.mesh.position.clone(); + enemy.fireParticleEngine.updateInstance('position'); } }