0
0
Fork 0
Phantom-Ink-Online/server/src/events/CreateGame.ts
2021-01-02 13:29:26 -07:00

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`,
});
}
};