@rjfwhite/random-lib
Version:
Core engine for MML
38 lines • 1.43 kB
TypeScript
import { AttachmentRule, Behavior } from "./types";
import { WorldMaker } from "../WorldMaker";
export declare class PlayerLifecycleBehavior extends Behavior {
private static globalSpawnedCharacters;
private playerTemplate;
private spawnedCharacters;
private connectionListener;
private disconnectionListener;
private respawnDelay;
private respawnTimers;
private mutationObserver;
private deadPlayers;
static getAttachmentRules(): AttachmentRule[];
/**
* Static helper method to look up an m-character element by connection ID
* @param connectionId The connection ID to look up
* @returns The m-character element if found, null otherwise
*/
static getCharacterByConnectionId(connectionId: string): Element | null;
/**
* Static helper method to get all active player characters
* @returns Map of connection IDs to m-character elements
*/
static getAllCharacters(): Map<string, Element>;
constructor(element: Element, world: WorldMaker);
onAttach(): void;
onDetach(): void;
private setupDeathDetection;
private handlePlayerConnection;
private handlePlayerDisconnection;
private handlePlayerDeath;
private respawnPlayer;
private clearRespawnTimer;
private spawnPlayerCharacter;
private removePlayerCharacter;
tick(deltaTime: number): void;
}
//# sourceMappingURL=PlayerLifecycleBehavior.d.ts.map