diff --git a/js/server/AOI.js b/js/server/AOI.js index 888cb52..2e63ced 100644 --- a/js/server/AOI.js +++ b/js/server/AOI.js @@ -26,12 +26,14 @@ AOI.prototype.clear = function(){ AOI.prototype.addEntity = function(entity,previous){ this.entities.push(entity); + if(entity.constructor.name == 'Player') GameServer.server.addToRoom(entity.socketID,'AOI'+this.id); GameServer.handleAOItransition(entity,previous); }; AOI.prototype.deleteEntity = function(entity) { var idx = this.entities.indexOf(entity); if (idx >= 0) this.entities.splice( idx, 1 ); + if(entity.constructor.name == 'Player') GameServer.server.leaveRoom(entity.socketID,'AOI'+this.id); }; module.exports.AOI = AOI; \ No newline at end of file diff --git a/server.js b/server.js index 00766df..b4ed915 100644 --- a/server.js +++ b/server.js @@ -174,6 +174,16 @@ server.getNbConnected =function(){ return Object.keys(gs.players).length; }; +server.addToRoom = function(socketID,room){ + var socket = server.getSocket(socketID); + socket.join(room); +}; + +server.leaveRoom = function(socketID,room){ + var socket = server.getSocket(socketID); + if(socket) socket.leave(room); +}; + server.sendID = function(socket,playerID){ socket.emit('pid',playerID); };