diff --git a/Webservice/server.js b/Webservice/server.js index 91c7930..be57531 100644 --- a/Webservice/server.js +++ b/Webservice/server.js @@ -43,16 +43,16 @@ io.on('connection', socket => { socket.on('add user', function (data) { socket.username = data.username; socket.room = data.room_name; - + if (game[socket.room] === undefined) { game[socket.room] = new Game(); } - + if (game[socket.room].add_player(socket.username)) { - + game[socket.room].addPlayerName(data.username); addedUser = true; - + socket.emit('login'); socket.join(socket.room); io.in(socket.room).emit('updatePlayerNames', game[socket.room].getPlayerNames()); @@ -80,6 +80,7 @@ io.on('connection', socket => { socket.on('disconnect', function () { if (game[socket.room] !== undefined && addedUser) { + if (game[socket.room].current_player_is(socket.username)) socket.broadcast.to(socket.room).emit('card destroyed'); game[socket.room].removePlayerName(socket.username); io.in(socket.room).emit('updatePlayerNames', game[socket.room].getPlayerNames()); @@ -87,8 +88,6 @@ io.on('connection', socket => { socket.broadcast.to(socket.room).emit('user left', socket.username); game[socket.room].remove_player(socket.username); - // TODO Close card if card is opened and active player left - socket.leave(socket.room); if (game[socket.room].players.length === 0) delete game[socket.room];