diff --git a/21g30t1e75.js b/21g30t1e75.js index 2d62248..82f5804 100644 --- a/21g30t1e75.js +++ b/21g30t1e75.js @@ -1168,23 +1168,40 @@ GameLib.CustomCode.prototype.restore = function() { */ this.grid[body.position.x][body.position.y] = null; - var found = false; + var meshFound = false; + var backupMeshFound = false; this.backupSnake.map( function (backupBody) { if ( body.mesh === backupBody.mesh || - body.mesh === backupBody.backupMesh || + body.mesh === backupBody.backupMesh + ) { + meshFound = true; + } + + if ( body.backupMesh === backupBody.mesh || body.backupMesh === backupBody.backupMesh ) { - found = true; + backupMeshFound = true; } + }.bind(this) ); - if (!found) { - body.dispose(); + if (!meshFound) { + body.mesh.geometry = null; + body.mesh.materials = null; + body.mesh.remove(); + body.mesh = null; + } + + if (!backupMeshFound) { + body.backupMesh.geometry = null; + body.backupMesh.materials = null; + body.backupMesh.remove(); + body.backupMesh = null; } /**