sychronized pausing and resuming of game timer, fade transitions

This commit is contained in:
Alec Maier
2019-09-02 04:10:25 -04:00
parent 2d852c2fc0
commit 48cfaace74
5 changed files with 76 additions and 9 deletions

View File

@@ -64,6 +64,21 @@ io.on('connection', function(socket) {
}
io.to(gameData.code).emit('state', game);
});
socket.on('pauseGame', function(code) {
let game = activeGames[Object.keys(activeGames).find((key) => key === code)];
game.pauseTime = (new Date()).toJSON();
game.paused = true;
io.to(code).emit('state', game);
});
socket.on('resumeGame', function(code) {
let game = activeGames[Object.keys(activeGames).find((key) => key === code)];
game.paused = false;
let newTime = new Date(game.endTime).getTime() + (new Date().getTime() - new Date(game.pauseTime).getTime());
let newDate = new Date(game.endTime);
newDate.setTime(newTime);
game.endTime = newDate.toJSON();
io.to(code).emit('state', game);
});
socket.on('killPlayer', function(id, code) {
let game = activeGames[Object.keys(activeGames).find((key) => key === code)];
let player = game.players.find((player) => player.id === id);