From b8b98695224ee253e0002683d4428d517f14aee3 Mon Sep 17 00:00:00 2001 From: Jeremiah Billmann Date: Sun, 14 Jul 2013 16:10:51 -0400 Subject: [PATCH] Player remove fixes and entity remove progress --- client/garageserver.io.js | 15 +++++++++++++++ src/server/garageserver.io.js | 1 + 2 files changed, 16 insertions(+) diff --git a/client/garageserver.io.js b/client/garageserver.io.js index f7c96c7..983ba40 100644 --- a/client/garageserver.io.js +++ b/client/garageserver.io.js @@ -6,6 +6,7 @@ options = { onPlayerUpdate: function (state), onEntityUpdate: function (state), onPlayerRemove: function (id), + onEntityRemove: function (id), onWorldState: function (state), onPing: function (pingDelay), onUpdatePlayerPhysics: function (state, inputs, deltaTime), @@ -149,6 +150,7 @@ var GarageServerIO = (function (socketio) { function PlayerController() { EntityController.call(this); } + PlayerController.prototype = Object.create(EntityController.prototype); PlayerController.prototype.add = function (id) { var player = new Player(id); this.entities.push(player); @@ -232,6 +234,15 @@ var GarageServerIO = (function (socketio) { console.log('garageserver.io:: socket removePlayer ' + id); } }); + _socket.on('removeEntity', function (id) { + removeEntity(id); + if (_options.onEntityRemove) { + _options.onEntityRemove(id); + } + if (_options.logging) { + console.log('garageserver.io:: socket removeEntity ' + id); + } + }); }, getId = function () { @@ -266,6 +277,10 @@ var GarageServerIO = (function (socketio) { _playerController.remove(id); }, + removeEntity = function (id) { + _entityController.remove(id); + }, + update = function (data) { _stateController.setTime(data.time); diff --git a/src/server/garageserver.io.js b/src/server/garageserver.io.js index 06654e7..c81db35 100644 --- a/src/server/garageserver.io.js +++ b/src/server/garageserver.io.js @@ -122,6 +122,7 @@ GarageServer.prototype.addEntity = function (id) { }; GarageServer.prototype.removeEntity = function (id) { + this.io.sockets.emit('removeEntity', id); this.game.removeEntity(id); };