UNPKG

shoehive

Version:

WebSocket-based multiplayer game framework for real-time, event-driven gameplay

31 lines (30 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TableFactory = void 0; const Table_1 = require("./Table"); /** * Factory class for creating tables. * This class is responsible for creating new tables and emitting events when tables are created. * * It is exposed as part of the createGameServer function in the index.ts file, and can be used to create new tables. * Client functionality for this is already natively handled by the `lobby` command namespace. ([Client Commands](/api/generated/#client_command_types)) */ class TableFactory { constructor(eventBus) { this.eventBus = eventBus; } /** * Creates a new table with the specified number of seats and maximum seats per player. * Emits a TABLE_EVENTS.CREATED event when the table is created. * * @param totalSeats - The total number of seats at the table. * @param maxSeatsPerPlayer - The maximum number of seats a player can occupy. * @returns The newly created table. */ createTable({ totalSeats, maxSeatsPerPlayer, id, gameId, options, }) { const table = new Table_1.Table(this.eventBus, totalSeats, maxSeatsPerPlayer, id, gameId, options); console.log(`Table created: ${table.id}`); return table; } } exports.TableFactory = TableFactory;