import { BaseConnection } from "tsrpc"; import Room from "../Room/Room"; /** * Lobby */ export default class Lobby { //#region private private static conns: BaseConnection[] = []; //#endregion //#region get set public static get Room(): Room[] { return this.room } private static room: Room[] = [] //#endregion //#region Custom /** AddConns */ public static AddConns(conn: BaseConnection): void { this.conns.push(conn) } /** DelConns */ public static DelConns(conn: BaseConnection): void { for (let i = 0; i < this.conns.length; i++) { if (this.conns[i] === conn) { this.conns.splice(i, 1) break } } } // /** List */ // public static List(req: INetResponse): void { // const data = [] // for (let i = 0; i < this.list.length; i++) { // const room = this.list[i] // data.push(room.SerialNumber) // } // const resp: LobbyListRequest = new LobbyListRequest(data, 0) // req.WS.SendClient(resp) // } // /** Create */ // public static Create(req: INetResponse): void { // const room: Room = new Room(Lobby.serialNumber, req.WS) // Lobby.serialNumber++ // this.list.push(room) // const resp: LobbyCreateRequest = new LobbyCreateRequest() // req.WS.SendClient(resp) // } // /** Join */ // public static Join(req: INetResponse): void { // const serialNumber: number = req.Data // for (let i = 0; i < this.list.length; i++) { // const room = this.list[i] // if (room.SerialNumber === serialNumber) { // room.Join(req.WS) // break // } // } // } // /** Exit */ // public static Exit(req: INetResponse): void { // const serialNumber: number = req.Data // for (let i = 0; i < this.list.length; i++) { // const room = this.list[i] // if (room.SerialNumber === serialNumber) { // this.list.splice(i, 1) // // room.Exit() // // room = null // break // } // } // } //#endregion }