87 lines
1.9 KiB
TypeScript
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
|
|
}
|