Join/Leave the player from the team and role rooms
This commit is contained in:
parent
da7469b2c5
commit
39f5e2bf43
1 changed files with 12 additions and 0 deletions
|
|
@ -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;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue