shoehive
Version:
WebSocket-based multiplayer game framework for real-time, event-driven gameplay
34 lines (33 loc) • 1.56 kB
TypeScript
import { Player } from "../core/Player";
/**
* Player events.
*
* You can use these events to listen for changes in the player state, or to trigger actions based on player events.
*/
export declare const PLAYER_EVENTS: {
readonly CONNECTED: "player:connected";
readonly DISCONNECTED: "player:disconnected";
readonly RECONNECTED: "player:reconnected";
readonly REMOVED: "player:removed";
readonly STATE_UPDATED: "player:state:updated";
readonly ATTRIBUTE_CHANGED: "player:attribute:changed";
readonly ATTRIBUTES_CHANGED: "player:attributes:changed";
readonly AUTHENTICATION_FAILED: "player:authentication:failed";
readonly AUTHENTICATION_SUCCEEDED: "player:authentication:succeeded";
};
/**
* These are the payload structures for native Player events.
*
* You can use these payloads to listen for changes in the player state, or to trigger actions based on player events.
*/
export interface DefaultPlayerEventPayloadMap {
[PLAYER_EVENTS.CONNECTED]: [player: Player];
[PLAYER_EVENTS.DISCONNECTED]: [player: Player];
[PLAYER_EVENTS.RECONNECTED]: [player: Player];
[PLAYER_EVENTS.REMOVED]: [player: Player];
[PLAYER_EVENTS.STATE_UPDATED]: [player: Player];
[PLAYER_EVENTS.ATTRIBUTE_CHANGED]: [player: Player, key: string, value: any];
[PLAYER_EVENTS.ATTRIBUTES_CHANGED]: [player: Player, changedKeys: string[], attributes: Record<string, any>];
[PLAYER_EVENTS.AUTHENTICATION_FAILED]: [player: Player, reason: string];
[PLAYER_EVENTS.AUTHENTICATION_SUCCEEDED]: [player: Player];
}