2023-09-02 00:33:25 +08:00

87 lines
1.9 KiB
TypeScript

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<RpcLobbyListRequest>): 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<RpcLobbyCreateRequest>): 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<RpcLobbyJoinRequest>): 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<RpcLobbyExitRequest>): 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
}