1681-engine / index / LobbyClient
Class: LobbyClient ​
Defined in: src/net/lobby/LobbyClient.ts:45
The lobby as a client sees it: the room list, your room, your place in the queue and a match waiting for your answer, kept up to date from the server's messages, with a method for everything a lobby screen does. Hand it the game's Connection (or anything that sends JSON and emits the messages it does not handle):
const conn = new Connection('wss://lobby.example.com', { hello: () => ({ name }) }).connect();
const lobby = new LobbyClient(conn);
lobby.events.on('change', () => drawLobby(lobby));
lobby.events.on('start', ({ data }) => joinGame(data));
lobby.queue('duel');Constructors ​
Constructor ​
new LobbyClient(link): LobbyClient;Defined in: src/net/lobby/LobbyClient.ts:59
Parameters ​
| Parameter | Type |
|---|---|
link | LobbyLink |
Returns ​
LobbyClient
Properties ​
events ​
readonly events: EventBus<LobbyClientEvents>;Defined in: src/net/lobby/LobbyClient.ts:46
id ​
id: number = -1;Defined in: src/net/lobby/LobbyClient.ts:48
Your id in the lobby (-1 until welcomed).
lockedUntil ​
lockedUntil: number = 0;Defined in: src/net/lobby/LobbyClient.ts:55
Kept out of the queue until then (server ms), after a declined match.
match ​
match: PendingMatch | null = null;Defined in: src/net/lobby/LobbyClient.ts:56
modes ​
modes: string[] = [];Defined in: src/net/lobby/LobbyClient.ts:49
queued ​
queued:
| {
mode: string;
since: number;
waiting: number;
}
| null = null;Defined in: src/net/lobby/LobbyClient.ts:53
Your queue: the mode, since when (server ms) and how many other groups wait for it.
room ​
room: RoomState | null = null;Defined in: src/net/lobby/LobbyClient.ts:51
rooms ​
rooms: RoomSummary[] = [];Defined in: src/net/lobby/LobbyClient.ts:50
Accessors ​
isHost ​
Get Signature ​
get isHost(): boolean;Defined in: src/net/lobby/LobbyClient.ts:63
Returns ​
boolean
roomReady ​
Get Signature ​
get roomReady(): boolean;Defined in: src/net/lobby/LobbyClient.ts:68
Every member of your room but the host has said ready.
Returns ​
boolean
Methods ​
accept() ​
accept(): void;Defined in: src/net/lobby/LobbyClient.ts:111
Returns ​
void
chat() ​
chat(text): void;Defined in: src/net/lobby/LobbyClient.ts:99
Parameters ​
| Parameter | Type |
|---|---|
text | string |
Returns ​
void
create() ​
create(options?): void;Defined in: src/net/lobby/LobbyClient.ts:75
Parameters ​
| Parameter | Type |
|---|---|
options | Omit<Extract<LobbyClientMessage, { t: "lobby/create"; }>, "t"> |
Returns ​
void
decline() ​
decline(): void;Defined in: src/net/lobby/LobbyClient.ts:116
Returns ​
void
destroy() ​
destroy(): void;Defined in: src/net/lobby/LobbyClient.ts:121
Returns ​
void
join() ​
join(room): void;Defined in: src/net/lobby/LobbyClient.ts:78
Parameters ​
| Parameter | Type |
|---|---|
room | string |
Returns ​
void
joinByCode() ​
joinByCode(code): void;Defined in: src/net/lobby/LobbyClient.ts:81
Parameters ​
| Parameter | Type |
|---|---|
code | string |
Returns ​
void
kick() ​
kick(player): void;Defined in: src/net/lobby/LobbyClient.ts:90
Parameters ​
| Parameter | Type |
|---|---|
player | number |
Returns ​
void
leave() ​
leave(): void;Defined in: src/net/lobby/LobbyClient.ts:84
Returns ​
void
leaveQueue() ​
leaveQueue(): void;Defined in: src/net/lobby/LobbyClient.ts:108
Returns ​
void
list() ​
list(): void;Defined in: src/net/lobby/LobbyClient.ts:72
Returns ​
void
promote() ​
promote(player): void;Defined in: src/net/lobby/LobbyClient.ts:93
Parameters ​
| Parameter | Type |
|---|---|
player | number |
Returns ​
void
queue() ​
queue(mode): void;Defined in: src/net/lobby/LobbyClient.ts:105
Parameters ​
| Parameter | Type |
|---|---|
mode | string |
Returns ​
void
setReady() ​
setReady(ready): void;Defined in: src/net/lobby/LobbyClient.ts:87
Parameters ​
| Parameter | Type |
|---|---|
ready | boolean |
Returns ​
void
setSettings() ​
setSettings(settings): void;Defined in: src/net/lobby/LobbyClient.ts:96
Parameters ​
| Parameter | Type |
|---|---|
settings | unknown |
Returns ​
void
startRoom() ​
startRoom(): void;Defined in: src/net/lobby/LobbyClient.ts:102
Returns ​
void