UNPKG

@game-vir/multiplayer

Version:

Client side definitions and types for @game-vir/multiplayer-server

55 lines (54 loc) 1.94 kB
import { defineShape, exact } from 'object-shape-tester'; /** * All possible message types sent to and from the game-vir multiplayer server. These are used to * establish WebRTC connections. * * @category Internal */ export var MultiplayerWebSocketMessageType; (function (MultiplayerWebSocketMessageType) { /** * Sent to the multiplayer server from a client when they want to connect. The offer is then * forwarded to the host client. * * If a host has not been set yet, then this client becomes the host. */ MultiplayerWebSocketMessageType["Offer"] = "offer"; /** * Sent to the multiplayer server from a host client (in response to an offer), then forwarded * to the client. * * If the offer was rejected, this will contain significantly less data. */ MultiplayerWebSocketMessageType["Answer"] = "answer"; /** * Sent from the multiplayer server to a client WebSocket after their offer has been processed * to instruct the client on what kind of client they are (member or host). */ MultiplayerWebSocketMessageType["OfferResult"] = "offer-result"; /** * A message sent to the multiplayer server from the host client to keep the room info up to * date. This will be sent repeatedly on an interval. */ MultiplayerWebSocketMessageType["HostPing"] = "host-ping"; /** An error message. */ MultiplayerWebSocketMessageType["Error"] = "error"; })(MultiplayerWebSocketMessageType || (MultiplayerWebSocketMessageType = {})); /** * Shape definition for {@link WebrtcAnswer}. * * @category Internal */ export const webrtcAnswerShape = defineShape({ type: exact(MultiplayerWebSocketMessageType.Answer), sdp: '', }); /** * Shape definition for {@link WebrtcOffer}. * * @category Internal */ export const webrtcOfferShape = defineShape({ type: exact(MultiplayerWebSocketMessageType.Offer), sdp: '', });