]> git.cworth.org Git - empires-server/commitdiff
game: Send a game-info event when a client connects
authorCarl Worth <cworth@cworth.org>
Fri, 5 Jun 2020 01:17:48 +0000 (18:17 -0700)
committerCarl Worth <cworth@cworth.org>
Fri, 5 Jun 2020 12:28:57 +0000 (05:28 -0700)
This is in the generic Game class so all games will get this
functionality. This will allow clients to be able to display the
game's ID and URL so players can invite friends.

game.js

diff --git a/game.js b/game.js
index ca12fb3e6d302470f5cb1ce946907f3361c50474..56ee56c8fa5e013991f676abfbbd8b51889994ff 100644 (file)
--- a/game.js
+++ b/game.js
@@ -73,6 +73,13 @@ class Game {
       this.remove_client(id);
     });
 
+    /* Give the client the game-info event. */
+    const game_info_json = JSON.stringify({
+      id: this.id,
+      url: `${request.protocol}://${request.hostname}/${this.id}`
+    });
+    response.write(`event: game-info\ndata: ${game_info_json}\n\n`);
+
     /* Finally, if this game class has a "state" property, stream that
      * current state to the client. */
     if (this.state) {