X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=empires.js;h=5053b61581ec53ec6d308dabf4319c9dfdf644ec;hb=bb50292173f978457b4b64d6495db96cd581a4d6;hp=f95bba9f48da600bb68ae46aec66e436ff4fed6b;hpb=ea14cbbefb26afd558aff8329d92f1a7b9442bac;p=empires-server diff --git a/empires.js b/empires.js index f95bba9..5053b61 100644 --- a/empires.js +++ b/empires.js @@ -1,8 +1,6 @@ const express = require("express"); const Game = require("./game.js"); -const engine_name = "empires"; - const router = express.Router(); const GameState = { @@ -34,8 +32,8 @@ function shuffle(a) { } class Empires extends Game { - constructor() { - super(engine_name); + constructor(id) { + super(id); this._spectators = []; this.next_spectator_id = 1; this._players = []; @@ -85,6 +83,8 @@ class Empires extends Game { want. */ const player_data = JSON.stringify((({id, name}) => ({id, name}))(new_player)); this.broadcast_event("player-join", player_data); + + return new_player; } remove_player(id) { @@ -247,13 +247,6 @@ class Empires extends Game { } -router.get('/', (request, response) => { - if (! request.session.nickname) - response.render('choose-nickname.html', { game_name: "Empires" }); - else - response.render('empires-game.html'); -}); - router.post('/spectator', (request, response) => { const game = request.game; var name = request.session.nickname; @@ -280,8 +273,8 @@ router.post('/register', (request, response) => { if (request.body.name) name = request.body.name; - game.add_player(name, request.body.character); - response.send(); + const player = game.add_player(name, request.body.character); + response.send(JSON.stringify(player.id)); }); router.post('/deregister/:id', (request, response) => { @@ -352,5 +345,9 @@ router.get('/events', (request, response) => { }); exports.router = router; -exports.name = engine_name; exports.Game = Empires; + +Empires.meta = { + name: "Empires", + identifier: "empires" +};