const express = require('express'); const app = express.Router(); const expressWs = require('express-ws')(app); const sqlite = require('better-sqlite3'); const db = new sqlite('the_big_db.db', { verbose: console.log }); const { loginRequired } = require('../authStuff.js'); const { interpret, sockets, lookUpObject, getAttribute, setAttribute, hasOwnAttribute, deleteAttribute } = require('../interpreter.js'); app.ws('/embody', (ws, req) => { // const { playerObject } = db.prepare('select playerObject from users where id=?').get(req.session.userId) const playerObjectId = 30; // mocked out for now! sockets.set(playerObjectId, ws); ws.send(`location change to: #${getAttribute(playerObjectId, "location")}`); ws.on('message', (msg) => { const location = lookUpObject(playerObjectId).location; interpret(location, playerObjectId, msg); }); ws.on('close', () => sockets.delete(playerObjectId)); }); module.exports = app;