X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=game.js;h=f1f764fa1968425d597e4e2ab47e4b8d916650a8;hb=f27cdf8b57b41a91dd7ab67be407d803dcaad1a3;hp=5bbd7f503885a964105a90266f5e36d8cd981210;hpb=17ceff9f690f9689f38fe3d0d448fccba72bf044;p=empires-server diff --git a/game.js b/game.js index 5bbd7f5..f1f764f 100644 --- a/game.js +++ b/game.js @@ -1,7 +1,7 @@ /* Base class providing common code for game engine implementations. */ class Game { - constructor(name) { - this.name = name; + constructor(id) { + this.id = id; this.clients = []; this.next_client_id = 1; } @@ -69,6 +69,17 @@ class Game { request.on('close', () => { this.remove_client(id); }); + + /* Finally, if this game class has a "state" property, stream that + * current state to the client. */ + if (this.state) { + const state_json = JSON.stringify(this.state); + response.write(`event: game-state\ndata: ${state_json}\n\n`); + } + } + + broadcast_move(move) { + this.broadcast_event("move", move); } }