48 lines
612 B
TypeScript
48 lines
612 B
TypeScript
import { BaseConnection } from "tsrpc";
|
|
|
|
|
|
/**
|
|
* Room
|
|
*/
|
|
export default class Room {
|
|
|
|
//#region public
|
|
|
|
static maxRoomId: number = 0;
|
|
static rooms: { [roomId: number]: Room } = {};
|
|
|
|
//#endregion
|
|
|
|
//#region public
|
|
|
|
//#endregion
|
|
|
|
//#region private
|
|
|
|
private roomId: number = 0
|
|
private conns: BaseConnection[] = [];
|
|
|
|
//#endregion
|
|
|
|
//#region Lifecycle
|
|
|
|
/**
|
|
*
|
|
*/
|
|
constructor() {
|
|
// 给每个新房间生成一个唯一的 ID
|
|
this.roomId = ++Room.maxRoomId;
|
|
}
|
|
|
|
//#endregion
|
|
|
|
//#region Custom
|
|
|
|
/** Join */
|
|
public Join(conn: BaseConnection): void {
|
|
this.conns.push(conn);
|
|
}
|
|
|
|
//#endregion
|
|
}
|