From bd341f5f0cf42f7c0ce2eb0b57d1afa4d57d4581 Mon Sep 17 00:00:00 2001 From: Jeremiah Billmann Date: Wed, 20 May 2015 00:41:32 +0000 Subject: [PATCH] Refactored getNewPlayerState to use new object literal --- example/shared/core.js | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/example/shared/core.js b/example/shared/core.js index 3b45395..527c822 100644 --- a/example/shared/core.js +++ b/example/shared/core.js @@ -1,37 +1,44 @@ (function(exports){ exports.getNewPlayerState = function (state, inputs, deltaTime, garageServer) { - var i = 0, distance = 0; - + var i = 0, distance = 0, newState = {}; + if (!state.ang && state.ang !== 0) { - state.ang = 0; - state.x = 0; - state.y = 0; - state.ship = Math.floor(Math.random() * 9) + 1; - state.lastFire = new Date().getTime(); + newState.ang = 0; + newState.x = 0; + newState.y = 0; + newState.ship = Math.floor(Math.random() * 9) + 1; + newState.lastFire = new Date().getTime(); + } + else { + newState.ang = state.ang; + newState.x = state.x; + newState.y = state.y; + newState.ship = state.ship; + newState.lastFire = state.lastFire; } for (i = 0; i < inputs.length; i ++) { if (inputs[i].input === 'left') { - state.ang -= (125 * deltaTime); + newState.ang -= (125 * deltaTime); } else if (inputs[i].input === 'right') { - state.ang += (125 * deltaTime); + newState.ang += (125 * deltaTime); } else if (inputs[i].input === 'up') { distance += (125 * deltaTime); } else if (inputs[i].input === 'space') { - if (garageServer && (new Date().getTime() - state.lastFire) > 1000) { + if (garageServer && (new Date().getTime() - newState.lastFire) > 1000) { var newId = guid(); garageServer.addEntity(newId); - garageServer.updateEntityState(newId, { x: state.x, y: state.y, ang: state.ang } ); - state.lastFire = new Date().getTime(); + garageServer.updateEntityState(newId, { x: newState.x, y: newState.y, ang: newState.ang } ); + newState.lastFire = new Date().getTime(); } } } - var newPoint = getPoint(state.ang, distance, state.x, state.y); - state.x = newPoint.x; - state.y = newPoint.y; + var newPoint = getPoint(newState.ang, distance, newState.x, newState.y); + newState.x = newPoint.x; + newState.y = newPoint.y; - return state; + return newState; }; function getPoint(angle, distance, oldX, oldY) {