diff --git a/21g30t1e75.js b/21g30t1e75.js index 14762ae..f2c4d82 100644 --- a/21g30t1e75.js +++ b/21g30t1e75.js @@ -1168,14 +1168,36 @@ GameLib.CustomCode.prototype.restore = function() { */ this.grid[body.position.x][body.position.y] = null; + var found = false; + + this.backupSnake.map( + function (backupBody) { + if ( + body.mesh === backupBody.mesh || + body.mesh === backupBody.backupMesh || + body.backupMesh === backupBody.mesh || + body.backupMesh === backupBody.backupMesh + ) { + found = true; + } + } + ); + + if (!found) { + body.dispose(); + } + /** * If we have snake parts which have not been backed up - dispose of them */ - var inUse = false; + /* var inUse = false; this.backupSnake.map( function(backupBody) { - if (backupBody.mesh === body.mesh) { + if ( + backupBody.mesh === body.mesh && + backupBody.backupMesh === body.backupMesh + ) { inUse = true; } @@ -1200,7 +1222,7 @@ GameLib.CustomCode.prototype.restore = function() { if (!inUse) { body.dispose(); } - +*/ }.bind(this) )