Update logs to use Game's logger when possible instead of Global.
This commit is contained in:
parent
93de617d83
commit
5345c97f33
10 changed files with 44 additions and 39 deletions
|
|
@ -21,7 +21,7 @@ export default (io: Server, socket: Socket, data: DeleteGame) => {
|
|||
let player = game.players.find(x => x.isHost);
|
||||
|
||||
if (player != null && player.socket !== socket) {
|
||||
log.warn(`${player.name} attempted to delete game ${game.id}.`);
|
||||
game.log.warn(`${player.name} attempted to delete game.`);
|
||||
socket.emit(`GameDeleted`, {
|
||||
status: 403,
|
||||
message: `Not allowed to delete a game that you are not the host of.`,
|
||||
|
|
@ -31,6 +31,7 @@ export default (io: Server, socket: Socket, data: DeleteGame) => {
|
|||
};
|
||||
|
||||
// Delete game
|
||||
game.log.debug(`Game deleted.`)
|
||||
delete games[data.game_code];
|
||||
io.to(game.id).emit(`GameDeleted`, { status: 200 });
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ export default (io: Server, socket: Socket, data: GetPastQuestions) => {
|
|||
|
||||
// Assert game exists
|
||||
if (!games[data.game_code]) {
|
||||
log.debug(`Can't delete game that doesn't exist: ${data.game_code}`);
|
||||
log.debug(`Can't get questions game that doesn't exist: ${data.game_code}`);
|
||||
socket.emit(`Error`, {
|
||||
status: 404,
|
||||
message: `Game with code ${data.game_code} could not be found`,
|
||||
|
|
@ -17,7 +17,7 @@ export default (io: Server, socket: Socket, data: GetPastQuestions) => {
|
|||
let game = games[data.game_code];
|
||||
let team = game.teams[data.team - 1];
|
||||
|
||||
log.silly(`Past questions retrieved for team ${data.team} (gID=${game.id})`);
|
||||
game.log.silly(`Past questions retrieved for team ${data.team}`);
|
||||
socket.emit(`PastQuestions`, {
|
||||
questions: team.questions
|
||||
});
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ export default (io: Server, socket: Socket, data: JoinGame) => {
|
|||
});
|
||||
return;
|
||||
};
|
||||
|
||||
let game = games[data.game_code];
|
||||
|
||||
|
||||
|
|
@ -23,6 +22,7 @@ export default (io: Server, socket: Socket, data: JoinGame) => {
|
|||
let sameName = game.players.find(x => x.name == data.name);
|
||||
if (sameName != null) {
|
||||
if (!game.ingame) {
|
||||
game.log.info(`Client attempted to connect using name already in use.`);
|
||||
socket.emit(`GameJoined`, {
|
||||
status: 400,
|
||||
message: `A player already has that name in the game.`,
|
||||
|
|
@ -34,9 +34,11 @@ export default (io: Server, socket: Socket, data: JoinGame) => {
|
|||
// Player has the same name but is allowed to rejoin if they
|
||||
// disconnect in the middle of the game
|
||||
if (!sameName.socket.connected) {
|
||||
game.log.info(`Player Reconnected to the game (name=${data.name})`);
|
||||
socket.emit(`GameRejoined`, { status: 200 });
|
||||
return;
|
||||
} else {
|
||||
game.log.debug(`${socket.id} attempted to claim ${sameName.socket.id}'s game spot.`);
|
||||
socket.emit(`GameJoined`, {
|
||||
status: 403,
|
||||
message: `Can't connect to an already connected client`,
|
||||
|
|
@ -49,7 +51,7 @@ export default (io: Server, socket: Socket, data: JoinGame) => {
|
|||
|
||||
// Assert game is not in-progess
|
||||
if (game.ingame) {
|
||||
log.debug(`${data.name} tried to connect to gID:${game.id} in the middle of a game.`);
|
||||
game.log.debug(`${data.name} tried to connect in the middle of a game.`);
|
||||
socket.emit(`GameJoined`, {
|
||||
status: 403,
|
||||
message: `Cannot connect to a game that's in progress.`,
|
||||
|
|
@ -61,7 +63,7 @@ export default (io: Server, socket: Socket, data: JoinGame) => {
|
|||
let player = new Player(data.name, socket);
|
||||
game.players.push(player);
|
||||
|
||||
log.debug(`${data.name} joined gID:${game.id}`);
|
||||
game.log.debug(`${data.name} joined the game`);
|
||||
socket.join(game.id);
|
||||
socket.emit(`GameJoined`, {
|
||||
status: 200,
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ export default (io: Server, socket: Socket, data: LeaveGame) => {
|
|||
// Ensure it's not the host trying to leave so that the game can
|
||||
// actually start
|
||||
if (game.host.socket == socket) {
|
||||
log.debug(`Host `)
|
||||
game.log.debug(`Host attempted to leave game. (name=${game.host.name})`);
|
||||
socket.emit(`GameLeft`, {
|
||||
status: 303,
|
||||
message: `Can't leave the game as the host, use "DeleteGame".`,
|
||||
|
|
@ -41,11 +41,11 @@ export default (io: Server, socket: Socket, data: LeaveGame) => {
|
|||
|
||||
switch (role) {
|
||||
case "guesser":
|
||||
log.silly(`Removed ${player.name} from guesser role.`);
|
||||
game.log.silly(`Removed ${player.name} from guesser role.`);
|
||||
team.guessers = team.guessers.filter(p => p.socket !== socket);
|
||||
break;
|
||||
case "writer":
|
||||
log.silly(`Removed ${player.name} from writer role.`);
|
||||
game.log.silly(`Removed ${player.name} from writer role.`);
|
||||
team.writer = null;
|
||||
break;
|
||||
};
|
||||
|
|
@ -54,7 +54,7 @@ export default (io: Server, socket: Socket, data: LeaveGame) => {
|
|||
|
||||
game.players = game.players.filter(p => p.socket != socket);
|
||||
|
||||
log.debug(`${player.name} left gID:${game.id}`);
|
||||
game.log.debug(`${player.name} left the game.`);
|
||||
socket.to(game.id).emit(`PlayerUpdate`, {
|
||||
status: 200,
|
||||
action: `remove`,
|
||||
|
|
|
|||
|
|
@ -23,12 +23,12 @@ export default (io: Server, socket: Socket, data: NewHand) => {
|
|||
for (var card of team.hand) {
|
||||
deck.discard(card);
|
||||
team.removeCard(card);
|
||||
log.silly(`[${game.id}] Removing card: '${card}' from team ${data.team}'s hand.`);
|
||||
game.log.silly(`Removing card: '${card}' from team ${data.team}'s hand.`);
|
||||
};
|
||||
|
||||
// Add the questions and then alert the game clients about the changes
|
||||
team.addCardsToHand(deck.draw(conf.game.hand_size));
|
||||
log.silly(`[${game.id}] Drew a new hand of cards for team ${data.team}.`);
|
||||
game.log.silly(`Drew a new hand of cards for team ${data.team}.`);
|
||||
io.to(game.id).emit(`UpdateHand`, {
|
||||
mode: `replace`,
|
||||
questions: team.hand,
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ export default (io: Server, socket: Socket, data: ObjectList) => {
|
|||
|
||||
// Assert game exists
|
||||
if (!games[data.game_code]) {
|
||||
log.debug(`Can't delete game that doesn't exist: ${data.game_code}`);
|
||||
log.debug(`Can't get objects for game that doesn't exist: ${data.game_code}`);
|
||||
socket.emit(`Error`, {
|
||||
status: 404,
|
||||
message: `Game with code ${data.game_code} could not be found`,
|
||||
|
|
@ -16,7 +16,7 @@ export default (io: Server, socket: Socket, data: ObjectList) => {
|
|||
};
|
||||
let game = games[data.game_code];
|
||||
|
||||
log.silly(`[${game.id}] Sent client object card.`);
|
||||
game.log.silly(`Sent client object card`);
|
||||
socket.emit(`ObjectList`, {
|
||||
objects: game.objects
|
||||
});
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ export default (io: Server, socket: Socket, data: SelectObject) => {
|
|||
|
||||
// Assert game exists
|
||||
if (!games[data.game_code]) {
|
||||
log.debug(`Can't delete game that doesn't exist: ${data.game_code}`);
|
||||
log.debug(`Can't choose an object for a game that doesn't exist: ${data.game_code}`);
|
||||
socket.emit(`Error`, {
|
||||
status: 404,
|
||||
message: `Game with code ${data.game_code} could not be found`,
|
||||
|
|
@ -18,7 +18,7 @@ export default (io: Server, socket: Socket, data: SelectObject) => {
|
|||
|
||||
// Assert that the object is actually a valid choice
|
||||
if (!game.objects.includes(data.object)) {
|
||||
log.warn(`[${game.id}] Someone tried selecting an object that doesn't exist: ${data.object}`);
|
||||
game.log.warn(`Someone tried selecting an object that doesn't exist: ${data.object}`);
|
||||
socket.emit(`Error`, {
|
||||
status: 409,
|
||||
message: `That object isn't on the card.`,
|
||||
|
|
@ -27,7 +27,7 @@ export default (io: Server, socket: Socket, data: SelectObject) => {
|
|||
return;
|
||||
};
|
||||
|
||||
log.debug(`[${game.id}] Object has been chosen: ${data.object}`);
|
||||
game.log.debug(`Object has been chosen: ${data.object}`);
|
||||
game.object = data.object;
|
||||
io.to(game.id).emit(`ChosenObject`, {
|
||||
object: data.object
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ export default (io: Server, socket: Socket, data: SendCard) => {
|
|||
|
||||
// Assert game exists
|
||||
if (!games[data.game_code]) {
|
||||
log.debug(`Can't delete game that doesn't exist: ${data.game_code}`);
|
||||
log.debug(`Can't send a card in a game that doesn't exist: ${data.game_code}`);
|
||||
socket.emit(`Error`, {
|
||||
status: 404,
|
||||
message: `Game with code ${data.game_code} could not be found`,
|
||||
|
|
@ -20,7 +20,7 @@ export default (io: Server, socket: Socket, data: SendCard) => {
|
|||
|
||||
// The writer is answering
|
||||
if (data.from === "writer") {
|
||||
log.debug(`[${game.id}] Writer selected question to answer.`);
|
||||
game.log.debug(` Writer selected question to answer.`);
|
||||
deck.discard(data.text);
|
||||
team.selectQuestion(data.text);
|
||||
|
||||
|
|
@ -33,7 +33,7 @@ export default (io: Server, socket: Socket, data: SendCard) => {
|
|||
|
||||
// The writer is sending the card to the writer
|
||||
else if (data.from === "guesser") {
|
||||
log.debug(`[${game.id}] Guesser is sending the card to the writer.`);
|
||||
game.log.debug(`Guesser is sending the card to the writer.`);
|
||||
|
||||
// Update the team's hand
|
||||
team.removeCard(data.text);
|
||||
|
|
@ -54,7 +54,7 @@ export default (io: Server, socket: Socket, data: SendCard) => {
|
|||
}
|
||||
|
||||
else {
|
||||
log.warn(`[${game.id}] Unknown role in the "from" property: ${data.from}`);
|
||||
game.log.warn(`Unknown role in the "from" property: ${data.from}`);
|
||||
socket.emit(`Error`, {
|
||||
status: 400,
|
||||
message: `Unknown role in the "from" property: ${data.from}`,
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ export default (io: Server, socket: Socket, data: UpdateAnswer) => {
|
|||
|
||||
// Assert game exists
|
||||
if (!games[data.game_code]) {
|
||||
log.debug(`Can't delete game that doesn't exist: ${data.game_code}`);
|
||||
log.debug(`Can't update answer in a game that doesn't exist: ${data.game_code}`);
|
||||
socket.emit(`Error`, {
|
||||
status: 404,
|
||||
message: `Game with code ${data.game_code} could not be found`,
|
||||
|
|
|
|||
|
|
@ -18,11 +18,9 @@ export default (io: Server, socket: Socket, data: UpdatePlayer) => {
|
|||
// Execute the corresponding action code
|
||||
switch (data.action) {
|
||||
case "modify":
|
||||
log.debug(`Modifying a player. (gID=${data.game_code},name=${data.name})`);
|
||||
modifyPlayer(io, socket, data);
|
||||
break;
|
||||
case "remove":
|
||||
log.debug(`Removing a player. (gID=${data.game_code},name=${data.name})`);
|
||||
removePlayer(io, socket, data);
|
||||
break;
|
||||
default:
|
||||
|
|
@ -49,7 +47,7 @@ const modifyPlayer = (io: Server, socket: Socket, data: UpdatePlayer): void => {
|
|||
|
||||
// Ensure that the player was found correctly so it is not undefined
|
||||
if (player == null) {
|
||||
log.debug(`Can't modify a player that doesn't exist. (name=${data.name},gID=${game.id})`);
|
||||
game.log.debug(`Can't modify a player that doesn't exist. (name=${data.name})`);
|
||||
socket.emit(`PlayerUpdate`, {
|
||||
status: 404,
|
||||
message: `Cannot find player with the name: ${data.name}`,
|
||||
|
|
@ -60,7 +58,7 @@ const modifyPlayer = (io: Server, socket: Socket, data: UpdatePlayer): void => {
|
|||
|
||||
// Assert the player is modifying themselves
|
||||
if (player.socket !== socket) {
|
||||
log.debug(`${socket.id} is trying to modify a different player: ${data.name} (gID=${game.id})`);
|
||||
game.log.debug(`${socket.id} is trying to modify a different player: ${data.name}`);
|
||||
socket.emit(`PlayerUpdate`, {
|
||||
status: 403,
|
||||
message: `Cannot modify other players`,
|
||||
|
|
@ -70,7 +68,7 @@ const modifyPlayer = (io: Server, socket: Socket, data: UpdatePlayer): void => {
|
|||
};
|
||||
|
||||
if (!data.to) {
|
||||
log.silly(`Client did not include a "to" object in request.`)
|
||||
game.log.silly(`Client did not include a "to" object in request.`)
|
||||
socket.emit(`PlayerUpdate`, {
|
||||
status: 400,
|
||||
message: `The "to" property must to be specified in the request.`,
|
||||
|
|
@ -81,26 +79,29 @@ const modifyPlayer = (io: Server, socket: Socket, data: UpdatePlayer): void => {
|
|||
|
||||
// The player is joining a team for the first time
|
||||
if (!data.from) {
|
||||
log.silly(`Client included a "to" but not a "from" property.`);
|
||||
game.log.silly(`Client included a "to" but not a "from" property`);
|
||||
let team = game.teams[data.to.team - 1];
|
||||
|
||||
switch (data.to.role) {
|
||||
case "guesser":
|
||||
if (team.guessers.length >= 7) {
|
||||
game.log.debug(`Game cannot have more than 7 guessers`);
|
||||
socket.emit(`PlayerUpdate`, {
|
||||
status: 403,
|
||||
message: `A team can't have 8 or more ${conf.game.guesser_name}`,
|
||||
source: `UpdatePlayer.Modify`
|
||||
});
|
||||
return;
|
||||
}
|
||||
};
|
||||
team.guessers.push(player);
|
||||
game.log.silly(`${player.name} became a guesser`);
|
||||
|
||||
// Move the rooms the player is in
|
||||
player.socket.join(`${game.id}:${data.to.team}:guesser`)
|
||||
break;
|
||||
case "writer":
|
||||
if (team.writer) {
|
||||
game.log.debug(`Game cannot have more than 1 writer`);
|
||||
socket.emit(`PlayerUpdate`, {
|
||||
status: 403,
|
||||
message: `Someone on that team is already the ${conf.game.writer_name}`,
|
||||
|
|
@ -110,6 +111,7 @@ const modifyPlayer = (io: Server, socket: Socket, data: UpdatePlayer): void => {
|
|||
};
|
||||
// Change team object
|
||||
team.writer = player;
|
||||
game.log.silly(`${player.name} became the writer`);
|
||||
|
||||
// Move the rooms the player is in
|
||||
player.socket.join(`${game.id}:${data.to.team}:writer`);
|
||||
|
|
@ -119,7 +121,7 @@ const modifyPlayer = (io: Server, socket: Socket, data: UpdatePlayer): void => {
|
|||
|
||||
// Check if the player is just swapping roles on the same team
|
||||
else if (data.from.team === data.to.team) {
|
||||
log.silly(`Client provided "to" and "from" objects for the same team.`)
|
||||
game.log.silly(`Client provided "to" and "from" objects for the same team.`)
|
||||
let team = game.teams[data.to.team - 1];
|
||||
switch (data.to.role) {
|
||||
case "guesser":
|
||||
|
|
@ -160,7 +162,7 @@ const modifyPlayer = (io: Server, socket: Socket, data: UpdatePlayer): void => {
|
|||
|
||||
// The player is swapping roles and teams
|
||||
else {
|
||||
log.silly(`Client provided both "to" and "from" for different teams.`);
|
||||
game.log.silly(`Client provided both "to" and "from" for different teams.`);
|
||||
let oldTeam = game.teams[data.from.team - 1];
|
||||
let newTeam = game.teams[data.to.team - 1];
|
||||
|
||||
|
|
@ -232,7 +234,7 @@ const removePlayer = (io: Server, socket: Socket, data: UpdatePlayer): void => {
|
|||
|
||||
// Ensure that the player was found correctly so it is not undefined
|
||||
if (player == null) {
|
||||
log.debug(`Can't delete a player that doesn't exist. (name=${data.name},gID=${game.id})`);
|
||||
game.log.debug(`Can't delete a player that doesn't exist. (name=${data.name})`);
|
||||
socket.emit(`PlayerUpdate`, {
|
||||
status: 404,
|
||||
message: `Cannot find player with the name: ${data.name}`,
|
||||
|
|
@ -256,16 +258,16 @@ const removePlayer = (io: Server, socket: Socket, data: UpdatePlayer): void => {
|
|||
for (var team of game.teams) {
|
||||
if (team.writer == player) {
|
||||
team.writer = null;
|
||||
log.silly(`Removed ${player.name} from the writer role.`);
|
||||
game.log.silly(`Removed ${player.name} from the writer role.`);
|
||||
} else if (team.guessers.includes(player)) {
|
||||
team.guessers = team.guessers.filter(x => x !== player);
|
||||
log.silly(`Removed ${player.name} from the guesser role`);
|
||||
game.log.silly(`Removed ${player.name} from the guesser role`);
|
||||
};
|
||||
};
|
||||
|
||||
game.players = game.players.filter(x => x !== player);
|
||||
|
||||
log.info(`${host.name} kicked ${player.name} from game ${game.id}`);
|
||||
game.log.info(`${host.name} kicked ${player.name} from game`);
|
||||
io.to(game.id).emit(`PlayerUpdate`, {
|
||||
action: "remove",
|
||||
name: player.name,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue