34 lines
No EOL
819 B
TypeScript
34 lines
No EOL
819 B
TypeScript
import { Game } from '../objects/Game';
|
|
import { Player } from '../objects/Player';
|
|
import { Server, Socket } from 'socket.io';
|
|
import { conf, games, log } from '../main';
|
|
|
|
export default (io: Server, socket: Socket, data: CreateGame) => {
|
|
try {
|
|
let host = new Player(data.name, socket, true);
|
|
|
|
// Create the game object to save
|
|
let game = new Game(conf, host);
|
|
games[game.id] = game;
|
|
game.players.push(host);
|
|
game.log = log.getChildLogger({
|
|
displayLoggerName: true,
|
|
name: game.id,
|
|
})
|
|
game.log.info(`New game created (host=${host.name})`);
|
|
|
|
socket.join(game.id);
|
|
socket.emit(`GameCreated`, {
|
|
status: 200,
|
|
game_code: game.id,
|
|
players: game.playerData,
|
|
});
|
|
}
|
|
catch (err) {
|
|
socket.emit(`GameCreated`, {
|
|
status: 500,
|
|
message: err.message,
|
|
source: `CreateGame`,
|
|
});
|
|
}
|
|
}; |