the-forest/server/routes/sockets.js
2024-10-10 22:54:22 -04:00

32 lines
955 B
JavaScript

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;