fixed joining room error

This commit is contained in:
Wenszel 2022-06-01 17:43:46 +02:00
parent c22ee282b9
commit 3d79bf66df
7 changed files with 23526 additions and 52 deletions

View File

@ -45,7 +45,7 @@ module.exports = (io, socket) => {
// Pushing above data to database // Pushing above data to database
RoomModel.findOneAndUpdate({ _id: req.session.roomId }, room, (err, updatedRoom) => { RoomModel.findOneAndUpdate({ _id: req.session.roomId }, room, (err, updatedRoom) => {
if (!updatedRoom) return err; if (!updatedRoom) return err;
io.to(req.session.roomId).emit('room:data', JSON.stringify(updatedRoom)); io.to(req.session.roomId.toString()).emit('room:data', JSON.stringify(updatedRoom));
socket.emit('room:move'); socket.emit('room:move');
}); });
}); });

View File

@ -52,7 +52,7 @@ module.exports = (io, socket) => {
err => { err => {
if (err) return err; if (err) return err;
// Sends to all players in room game data // Sends to all players in room game data
io.to(roomId).emit('room:data', JSON.stringify(room)); io.to(roomId.toString()).emit('room:data', JSON.stringify(room));
} }
); );
}); });
@ -83,7 +83,7 @@ module.exports = (io, socket) => {
req.session.color = room.players[0].color; req.session.color = room.players[0].color;
req.session.save(); req.session.save();
// Sending data to the user, after which player will be redirected to the game // Sending data to the user, after which player will be redirected to the game
socket.join(room._id); socket.join(room._id.toString());
socket.emit('player:data', JSON.stringify(req.session)); socket.emit('player:data', JSON.stringify(req.session));
}); });
}); });
@ -120,7 +120,7 @@ module.exports = (io, socket) => {
req.session.playerId = updatedRoom.players[updatedRoom.players.length - 1]._id; req.session.playerId = updatedRoom.players[updatedRoom.players.length - 1]._id;
req.session.color = colors[updatedRoom.players.length - 1]; req.session.color = colors[updatedRoom.players.length - 1];
req.session.save(); req.session.save();
socket.join(room._id); socket.join(room._id.toString());
// Sending data to the user, after which player will be redirected to the game // Sending data to the user, after which player will be redirected to the game
socket.emit('player:data', JSON.stringify(req.session)); socket.emit('player:data', JSON.stringify(req.session));
}); });

View File

@ -8,7 +8,7 @@ module.exports = (io, socket) => {
if (room.nextMoveTime <= Date.now()) { if (room.nextMoveTime <= Date.now()) {
changeCurrentMovingPlayer(); changeCurrentMovingPlayer();
} else { } else {
io.to(req.session.roomId).emit('room:data', JSON.stringify(room)); io.to(req.session.roomId.toString()).emit('room:data', JSON.stringify(room));
} }
}); });
}; };
@ -28,7 +28,7 @@ module.exports = (io, socket) => {
} }
room.nextMoveTime = Date.now() + 15000; room.nextMoveTime = Date.now() + 15000;
RoomModel.findOneAndUpdate({ _id: req.session.roomId }, room, function (err, updatedRoom) { RoomModel.findOneAndUpdate({ _id: req.session.roomId }, room, function (err, updatedRoom) {
io.to(req.session.roomId).emit('room:data', JSON.stringify(updatedRoom)); io.to(req.session.roomId.toString()).emit('room:data', JSON.stringify(updatedRoom));
}); });
}); });
} }

1424
backend/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -78,9 +78,10 @@ io.on('connection', socket => {
registerRoomHandlers(io, socket); registerRoomHandlers(io, socket);
registerGameHandlers(io, socket); registerGameHandlers(io, socket);
if (socket.request.session.roomId) { if (socket.request.session.roomId) {
socket.join(socket.request.session.roomId); const roomId = socket.request.session.roomId.toString();
socket.join(roomId);
socket.emit('player:data', JSON.stringify(socket.request.session)); socket.emit('player:data', JSON.stringify(socket.request.session));
io.to(socket.request.session.roomId).emit('player joined'); io.to(roomId).emit('player joined');
} }
}); });

22134
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -20,6 +20,9 @@ function App() {
setPlayerData(data); setPlayerData(data);
data.roomId != null ? setRedirect(true) : setRedirect(false); data.roomId != null ? setRedirect(true) : setRedirect(false);
}); });
socket.on('uwaga', data => {
console.log(data);
});
setPlayerSocket(socket); setPlayerSocket(socket);
}, []); }, []);