0
0
Fork 0

Join/Leave the player from the team and role rooms

This commit is contained in:
Oliver-Akins 2020-12-27 15:10:48 -07:00
parent da7469b2c5
commit 39f5e2bf43

View file

@ -83,6 +83,10 @@ const modifyPlayer = (io: Server, socket: Socket, data: UpdatePlayer): void => {
} }
team.guessers.push(player); team.guessers.push(player);
team.writer = null; team.writer = null;
// Move the rooms the player is in
player.socket.join(`${game.id}:${data.to.team}:guesser`)
player.socket.leave(`${game.id}:${data.from.team}:writer`);
break; break;
case "writer": case "writer":
if (team.writer) { if (team.writer) {
@ -96,6 +100,10 @@ const modifyPlayer = (io: Server, socket: Socket, data: UpdatePlayer): void => {
// Change team object // Change team object
team.writer = player; team.writer = player;
team.guessers = team.guessers.filter(x => x.socket !== socket); team.guessers = team.guessers.filter(x => x.socket !== socket);
// Move the rooms the player is in
player.socket.join(`${game.id}:${data.to.team}:writer`);
player.socket.leave(`${game.id}:${data.from.team}:guesser`)
break; break;
}; };
} }
@ -119,6 +127,7 @@ const modifyPlayer = (io: Server, socket: Socket, data: UpdatePlayer): void => {
return; return;
}; };
newTeam.guessers.push(player); newTeam.guessers.push(player);
player.socket.join(`${game.id}:${data.to.team}:guesser`)
break; break;
@ -134,6 +143,7 @@ const modifyPlayer = (io: Server, socket: Socket, data: UpdatePlayer): void => {
return; return;
}; };
newTeam.writer = player; newTeam.writer = player;
player.socket.join(`${game.id}:${data.to.team}:guesser`)
break; break;
}; };
@ -142,9 +152,11 @@ const modifyPlayer = (io: Server, socket: Socket, data: UpdatePlayer): void => {
switch (data.from.role) { switch (data.from.role) {
case "guesser": case "guesser":
oldTeam.guessers = oldTeam.guessers.filter(x => x.socket !== socket); oldTeam.guessers = oldTeam.guessers.filter(x => x.socket !== socket);
player.socket.leave(`${game.id}:${data.from.team}:guesser`);
break; break;
case "writer": case "writer":
oldTeam.writer = null; oldTeam.writer = null;
player.socket.leave(`${game.id}:${data.from.team}:writer`);
break; break;
}; };
}; };