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() {
if (GameLib.Utils.UndefinedOrNull(this.backupSnake)) {
this.backupSnake = [];
}
this.backupPrevious = this.backupSnake.map(
function(body) {
return body;
}
);
this.backupSnake = this.snake.map(
function(body) {
return body.clone();
}
);
this.backupOrientation = this.state.orientation;
}.bind(this)
GameLib.CustomCode.prototype.restore = function() {
this.snake.map(
function(body) {
@ -1170,7 +1180,7 @@ GameLib.CustomCode.prototype.restore = function() {
var meshFound = false;
var backupMeshFound = false;
this.backupSnake.map(
this.backupPrevious.map(
function (backupBody) {
if (
body.mesh === backupBody.mesh ||
@ -1203,42 +1213,6 @@ GameLib.CustomCode.prototype.restore = function() {
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)
)
@ -1250,7 +1224,7 @@ GameLib.CustomCode.prototype.restore = function() {
/**
* Restore our backup snake
*/
this.snake = this.backupSnake.map(
this.snake = this.backupPrevious.map(
function(body) {
return body.clone();
}.bind(this)
@ -1283,8 +1257,6 @@ GameLib.CustomCode.prototype.advanceSnake = function(delta) {
var backup = null;
var temp = null;
var advanced = false;
this.backup();
this.snake.map(
function(body, index) {
@ -1506,6 +1478,10 @@ GameLib.CustomCode.prototype.advanceSnake = function(delta) {
this.state.turning = false;
if (this.state.eating) {
this.backup();
}
this.state.eating = false;
this.visualizeGrid();