UNPKG

rubiks-cube-mcp-server

Version:
51 lines (50 loc) 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WebSocketHandler = void 0; class WebSocketHandler { io; sessions; constructor(server, sessions) { this.io = new (require('socket.io').Server)(server, { cors: { origin: "*", methods: ["GET", "POST"] } }); this.sessions = sessions; this.setupWebSocket(); } setupWebSocket() { this.io.on('connection', (socket) => { console.error('Client connected:', socket.id); socket.on('joinGame', (gameId) => { socket.join(gameId); console.error(`Client ${socket.id} joined game ${gameId}`); const session = this.sessions.get(gameId); if (session) { socket.emit('gameState', { gameId, state: session.cubeState, status: session.status }); } }); socket.on('disconnect', () => { console.error('Client disconnected:', socket.id); }); }); } broadcastGameState(gameId, cubeState, status) { this.io.to(gameId).emit('gameState', { gameId, state: cubeState, status }); } close() { if (this.io) { this.io.close(); } } } exports.WebSocketHandler = WebSocketHandler;