Update: CC - Snake FS - Entity Loaded (21g30t1e75.js) 535 bytes modified

beta.r3js.org
-=yb4f310 2018-03-23 16:46:32 +01:00
parent e123a4c7a9
commit ae451bd12c
1 changed files with 18 additions and 42 deletions

View File

@ -1146,18 +1146,28 @@ GameLib.CustomCode.prototype.createCorner = function(body, temp) {
GameLib.CustomCode.prototype.backup = function() { GameLib.CustomCode.prototype.backup = function() {
if (GameLib.Utils.UndefinedOrNull(this.backupSnake)) {
this.backupSnake = [];
}
this.backupPrevious = this.backupSnake.map(
function(body) {
return body;
}
);
this.backupSnake = this.snake.map( this.backupSnake = this.snake.map(
function(body) { function(body) {
return body.clone(); return body.clone();
} }
); );
this.backupOrientation = this.state.orientation; this.backupOrientation = this.state.orientation;
}.bind(this) }.bind(this)
GameLib.CustomCode.prototype.restore = function() { GameLib.CustomCode.prototype.restore = function() {
this.snake.map( this.snake.map(
function(body) { function(body) {
@ -1170,7 +1180,7 @@ GameLib.CustomCode.prototype.restore = function() {
var meshFound = false; var meshFound = false;
var backupMeshFound = false; var backupMeshFound = false;
this.backupSnake.map( this.backupPrevious.map(
function (backupBody) { function (backupBody) {
if ( if (
body.mesh === backupBody.mesh || body.mesh === backupBody.mesh ||
@ -1203,42 +1213,6 @@ GameLib.CustomCode.prototype.restore = function() {
body.backupMesh = null; body.backupMesh = null;
} }
/**
* If we have snake parts which have not been backed up - dispose of them
*/
/* var inUse = false;
this.backupSnake.map(
function(backupBody) {
if (
backupBody.mesh === body.mesh &&
backupBody.backupMesh === body.backupMesh
) {
inUse = true;
}
if (backupBody.mesh === body.backupMesh) {
body.mesh.geometry = null;
body.mesh.materials = null;
body.mesh.remove();
body.mesh = null;
inUse = true;
}
if (backupBody.backupMesh === body.mesh) {
inUse = true;
}
if (backupBody.backupMesh === body.backupMesh) {
inUse = true;
}
}
)
if (!inUse) {
body.dispose();
}
*/
}.bind(this) }.bind(this)
) )
@ -1250,7 +1224,7 @@ GameLib.CustomCode.prototype.restore = function() {
/** /**
* Restore our backup snake * Restore our backup snake
*/ */
this.snake = this.backupSnake.map( this.snake = this.backupPrevious.map(
function(body) { function(body) {
return body.clone(); return body.clone();
}.bind(this) }.bind(this)
@ -1283,8 +1257,6 @@ GameLib.CustomCode.prototype.advanceSnake = function(delta) {
var backup = null; var backup = null;
var temp = null; var temp = null;
var advanced = false; var advanced = false;
this.backup();
this.snake.map( this.snake.map(
function(body, index) { function(body, index) {
@ -1506,6 +1478,10 @@ GameLib.CustomCode.prototype.advanceSnake = function(delta) {
this.state.turning = false; this.state.turning = false;
if (this.state.eating) {
this.backup();
}
this.state.eating = false; this.state.eating = false;
this.visualizeGrid(); this.visualizeGrid();