Update: CC - Snake FS - Entity Loaded (21g30t1e75.js) 535 bytes modified
parent
e123a4c7a9
commit
ae451bd12c
|
@ -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();
|
||||||
|
|
Loading…
Reference in New Issue