From 0cc61b68f175ae13fe2390d8e5c6bf374153aecc Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Mon, 1 Jun 2020 14:29:53 -0700 Subject: [PATCH] Store only the the .Game property when importing a game engine Previously, we were referencing engine.Game separately from engine.router, etc. But now that engine.Game is the only property that's part of the interface, let's dereference that immediately at the time of require() so that later on we can just use "engine" in place of "engine.Game". --- lmno.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lmno.js b/lmno.js index a22f958..60c0f44 100644 --- a/lmno.js +++ b/lmno.js @@ -78,8 +78,8 @@ nunjucks.configure("templates", { * add_move method. */ const engines = { - empires: require("./empires"), - tictactoe: require("./tictactoe") + empires: require("./empires").Game, + tictactoe: require("./tictactoe").Game }; class LMNO { @@ -98,7 +98,7 @@ class LMNO { const engine = engines[engine_name]; - const game = new engine.Game(id); + const game = new engine(id); this.games[id] = game; @@ -277,7 +277,7 @@ app.get('/admin/', auth_admin, (request, response) => { /* Mount sub apps. only _after_ we have done all the middleware we need. */ for (let key in engines) { const engine = engines[key]; - const router = engine.Game.router; + const router = engine.router; /* Add routes that are common to all games. */ router.get('/', (request, response) => { @@ -297,7 +297,7 @@ for (let key in engines) { /* Further, add some routes conditionally depending on whether the * engine provides specific, necessary methods for the routes. */ - if (engine.Game.prototype.add_move) { + if (engine.prototype.add_move) { router.post('/move', (request, response) => { const game = request.game; const move = request.body.move; @@ -316,7 +316,7 @@ for (let key in engines) { } /* And mount the whole router at the path for the game. */ - app.use(`/${engine.Game.meta.identifier}/[a-zA-Z0-9]{4}/`, router); + app.use(`/${engine.meta.identifier}/[a-zA-Z0-9]{4}/`, router); } app.listen(4000, function () { -- 2.43.0