diff --git a/server/src/events/CreateGame.ts b/server/src/events/CreateGame.ts index 6d5798a..e41728e 100644 --- a/server/src/events/CreateGame.ts +++ b/server/src/events/CreateGame.ts @@ -1,13 +1,26 @@ +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 { - socket.emit(`Error`, { - status: 501, - message: `CreateGame: Not Implemented Yet`, - source: `CreateGame`, + + // Create the game object to save + let game = new Game(conf); + games[game.id] = game; + log.info(`New game created with ID ${game.id}`); + + // Register the player with the game + let host = new Player(data.name, socket, true); + game.players.push(host); + + socket.emit(`GameCreated`, { + status: 200, + game_code: game.id, }); - } catch (err) { + } + catch (err) { socket.emit(`Error`, { status: 500, message: `${err.name}: ${err.message}`,