UNPKG

@heyvr/sdk-arena

Version:

The SDK for heyVR's arena system.

53 lines (52 loc) 2.05 kB
import { MediaConnection, PeerError } from "peerjs"; import { LobbyP2P as Lobby, Lobby as LobbyArena } from "./types"; import { BaseLobby } from "./BaseLobby"; export declare class LobbyP2P extends BaseLobby<typeof LobbyP2P.events[number]> implements Lobby { static readonly events: readonly ["peerConnecting", "peerConnected", "peerDisconnected", "peerAbandoned", "peerRefused", "peerError", "dataReceived", "serverConnected", "serverDisconnected", "serverError"]; private static instance?; private con?; private host?; private lobby?; private media?; protected opponent?: string; private peer; private target?; private username?; constructor(lobby?: LobbyArena); get actions(): { listPlayers: () => Promise<Array<string>>; disconnect: () => void; reconnect: () => Promise<LobbyP2P>; abandon: () => Promise<void>; }; get communications(): { chat: (message: string) => Promise<string>; call: () => Promise<MediaConnection>; onCall: (callback: (accept: (stream?: MediaStream) => void, decline: () => void) => void) => void; hangUp: () => Promise<void>; onMessage: (callback: (message: string) => void) => void; }; get data(): { send: (data: any) => void; onReceive: (callback: (payload: any) => void) => void; }; get events(): { onConnect: (callback: () => void) => void; onMatchFound: (callback: (opponent: string) => void) => void; onDisconnect: (callback: () => void) => void; onAbandon: (callback: () => void) => void; onError: (callback: (error: PeerError<any>, fatal: boolean) => void) => void; }; get session(): { username: string; opponent: string; isConnected: boolean; }; connect(target: string): Promise<void>; private destroy; private disconnectSafely; getID(): Promise<string>; static getInstance(): LobbyP2P; private registerDataCallbacks; private resolveConnection; }