UNPKG

@lobstar/preact

Version:

A collection of Preact hooks to use Lobstar library for network and lobby management for multiplayer web games

36 lines (35 loc) 1.38 kB
import { GameSessionOptions } from "@lobstar/core"; import type { CustomMessageHandler, ErrorHandler, KickedHandler } from "./types"; export type GameLobbyOptions = { options?: GameSessionOptions; onMessage?: CustomMessageHandler; onError?: ErrorHandler; onKicked?: KickedHandler; }; /** * Main hook that provides a complete interface to the game session */ export declare function useGameLobby(lobbyOptions?: GameLobbyOptions): { host: (playerName: string, lobbyId?: string) => Promise<string>; join: (lobbyId: string, playerName: string) => Promise<void>; leave: () => void; setReady: (isReady: boolean) => void; startGame: () => void; endGame: () => void; kickPlayer: (playerId: string) => void; sendMessage: (peerId: string, data: unknown) => void; sendMessageToHost: (data: unknown) => void; broadcastMessage: (data: unknown, excludeSelf?: boolean) => void; state: import("@lobstar/core").SessionState | null; isConnected: boolean; isPlaying: boolean; isInLobby: boolean; isGameOver: boolean; areAllPlayersReady: boolean; playersList: import("@lobstar/core").Player[]; self: import("@lobstar/core").Player | null; hostPlayer: import("@lobstar/core").Player | null; isHost: boolean; maxPlayers: number; session: import("@lobstar/core").GameSessionManager | null; };