From e3a91f67b6b56a859fe740488d134dfda3e1746a Mon Sep 17 00:00:00 2001 From: Jeremiah Billmann Date: Fri, 26 Jul 2013 15:37:18 -0400 Subject: [PATCH] Refactored getStates for client --- README.md | 13 ++++++++----- client/garageserver.io.js | 29 +++++++++++++++++++++-------- example/public/javascripts/game.js | 14 +++++++------- 3 files changed, 36 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 6ee6e39..56ae320 100644 --- a/README.md +++ b/README.md @@ -132,18 +132,21 @@ GarageServerIO.addInput(input) **input** Type: object literal -#### getStates +#### getPlayerStates --- ```js -GarageServerIO.getStates(callback([, playerState], [, entityState])) +GarageServerIO.getPlayerStates() : [, playerState] ``` -**callback** -Type: function(playerStates, entityStates) - **playerStates** Type: array of object literals +#### getEntityStates +--- +```js +GarageServerIO.getEntityStates() : [, entityState] +``` + **entityStates** Type: array of object literals diff --git a/client/garageserver.io.js b/client/garageserver.io.js index 4d44632..9409a72 100644 --- a/client/garageserver.io.js +++ b/client/garageserver.io.js @@ -18,7 +18,8 @@ options = { api methods initializeGarageServer(path, options) addInput(input) - getStates(callback([, playerState], [, entityState])) + getPlayerStates : [, playerState] + getEntityStates : [, entityState] getId() : playerid sendServerEvent(data) */ @@ -300,26 +301,37 @@ var GarageServerIO = (function (socketio) { } }); }, - - getStates = function (stateCallback) { - var playerStates = [], entityStates = []; + + getPlayerStates = function () { + var playerStates = []; if (_stateController.interpolation && _options.onInterpolation) { - processEntityStatesInterpolated(_entityController); processEntityStatesInterpolated(_playerController); } else { - processEntityStatesCurrent(_entityController); processEntityStatesCurrent(_playerController); } _playerController.entities.forEach(function(player) { playerStates.push({ state: player.state }); }); + + return playerStates; + }, + + getEntityStates = function () { + var entityStates = []; + + if (_stateController.interpolation && _options.onInterpolation) { + processEntityStatesInterpolated(_entityController); + } else { + processEntityStatesCurrent(_entityController); + } + _entityController.entities.forEach(function(entity) { entityStates.push({ state: entity.state }); }); - stateCallback(playerStates, entityStates); + return entityStates; }, removePlayer = function (id) { @@ -405,7 +417,8 @@ var GarageServerIO = (function (socketio) { return { initializeGarageServer: initializeGarageServer, addInput: addInput, - getStates: getStates, + getPlayerStates: getPlayerStates, + getEntityStates: getEntityStates, getId: getId, sendServerEvent: sendServerEvent }; diff --git a/example/public/javascripts/game.js b/example/public/javascripts/game.js index c24d0bc..ae0d669 100644 --- a/example/public/javascripts/game.js +++ b/example/public/javascripts/game.js @@ -23,14 +23,14 @@ $(function () { //Render Loop function () { ctxCanvas.clearRect(0, 0, canvas.width, canvas.height); - GarageServerIO.getStates(function (playerStates, entityStates) { - playerStates.forEach(function (player) { - ctxCanvas.fillRect(player.state.x, player.state.y, playerSize, playerSize); - }); - entityStates.forEach(function (entity) { - ctxCanvas.fillRect(entity.state.x, entity.state.y, entitySize, entitySize); - }); + var playerStates = GarageServerIO.getPlayerStates(), + entityStates = GarageServerIO.getEntityStates(); + playerStates.forEach(function (player) { + ctxCanvas.fillRect(player.state.x, player.state.y, playerSize, playerSize); + }); + entityStates.forEach(function (entity) { + ctxCanvas.fillRect(entity.state.x, entity.state.y, entitySize, entitySize); }); }, //Update Loop