diff --git a/zo950m57cc.js b/zo950m57cc.js index ed436d0..1fed22c 100644 --- a/zo950m57cc.js +++ b/zo950m57cc.js @@ -232,6 +232,10 @@ if (GameLib.Utils.UndefinedOrNull(this.initialized)) { null ); + mesh.burnLife = 1; + mesh.explodeLife = 1; + mesh.instance.material.color.set(1,1,1); + return mesh; } @@ -777,27 +781,25 @@ if (this.mouseIsDown) if (material.name.indexOf('Trees') === -1) { - mesh.instance.material.color.sub(this.toBlack); - - material.color.r = mesh.instance.material.color.r; - material.color.g = mesh.instance.material.color.g; - material.color.b = mesh.instance.material.color.b; - - material.color.instance = mesh.instance.material.color; - - if (mesh.instance.material.color.r <= 0) { - - this.burn(mesh); - - if (mesh.instance.material.color) { - mesh.instance.material.color.add(this.toRed); - mesh.instance.material.color.add(this.toRed); - - if (mesh.instance.material.color.r >= 0.8) { - this.explode(mesh); - } + mesh.burnLife -= 0.1 * data.delta; + if (mesh.burnLife < 0) { + mesh.burnLife = 0; + mesh.explodeLife -= 0.1 * data.delta; + if (mesh.explodeLife < 0) { + mesh.explodeLife = 0; } } + + mesh.instance.material.color.set( + 1 - mesh.explodeLife, + mesh.burnLife, + mesh.burnLife + ); + + if (mesh.explodeLife <= 0) { + this.explode(mesh); + } + } else { /** * This happens to trees