forked from zombieb/galvanic-corrosion-rewrite
wer
This commit is contained in:
53
src/server/rooms/internal/RoomFactory.ts
Normal file
53
src/server/rooms/internal/RoomFactory.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
import type KV from "../../persistence/kv.ts";
|
||||
import { type ServerBase } from "../../server.ts";
|
||||
import { DatabaseRoom, RoomDataTypes } from "./DataTypes.ts";
|
||||
|
||||
export interface RoomFactoryOptions {
|
||||
id?: number,
|
||||
name?: string,
|
||||
}
|
||||
|
||||
export class RoomFactory {
|
||||
|
||||
#server: ServerBase;
|
||||
#kv: KV;
|
||||
|
||||
#roomId: number | undefined;
|
||||
#name: string | undefined;
|
||||
#description: string | undefined;
|
||||
#creatorPlayerId: number | undefined;
|
||||
#imageName: string | undefined;
|
||||
#state: RoomDataTypes.RoomScene | undefined;
|
||||
#accessibility: RoomDataTypes.RoomAccessibility | undefined;
|
||||
#supportsLevelVoting: boolean | undefined;
|
||||
#isAGRoom: boolean | undefined;
|
||||
#isDormRoom: boolean | undefined;
|
||||
#cloningAllowed: boolean | undefined;
|
||||
#supportsScreens: boolean | undefined;
|
||||
#supportsWalkVR: boolean | undefined;
|
||||
#supportsTeleportVR: boolean | undefined;
|
||||
#allowsJuniors: boolean | undefined;
|
||||
#roomWarningMask: number | undefined;
|
||||
#customRoomWarning: string | undefined;
|
||||
#disableMicAutoMute: boolean | undefined;
|
||||
|
||||
#dbMeta: DatabaseRoom | null = null;
|
||||
|
||||
#visits: number | undefined;
|
||||
#hardware
|
||||
|
||||
constructor(server: ServerBase, kv: KV) {
|
||||
|
||||
this.#server = server;
|
||||
this.#kv = kv;
|
||||
|
||||
}
|
||||
|
||||
async init(options: RoomFactoryOptions) {
|
||||
if (typeof options.id == 'undefined' && typeof options.name == 'undefined')
|
||||
throw new Error("Must specify a room ID or a room name");
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user