X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=game.js;h=faef43798b79482e4f2e0cdc1656ec66718601c9;hb=143c01e643c36e87c6bfc377ad1cf4edcc79e62c;hp=fb2d75afa87214f1eaa4fe426772ca59f39e24f3;hpb=7b21a4eb7ed2d6d479842b01c35ba6931c3acdc7;p=empires-server diff --git a/game.js b/game.js index fb2d75a..faef437 100644 --- a/game.js +++ b/game.js @@ -1,6 +1,7 @@ /* Base class providing common code for game engine implementations. */ class Game { - constructor() { + constructor(id) { + this.id = id; this.clients = []; this.next_client_id = 1; } @@ -68,6 +69,13 @@ 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`); + } } }