mudb
Version:
Real-time database for multiplayer games
33 lines (32 loc) • 1.21 kB
TypeScript
import { MuClient } from '../client';
import { MuStateSchema, MuAnySchema, MuStateSet, MuStateReplica } from './state';
export declare class MuRemoteServerState<Schema extends MuAnySchema> implements MuStateReplica<Schema> {
tick: number;
state: Schema['identity'];
history: MuStateSet<Schema['identity']>;
windowSize: number;
constructor(schema: MuAnySchema, windowSize: number);
}
export declare class MuClientState<Schema extends MuStateSchema<MuAnySchema, MuAnySchema>> implements MuStateReplica<Schema['client']> {
readonly sessionId: string;
readonly schema: Schema;
readonly client: MuClient;
server: MuRemoteServerState<Schema['server']>;
tick: number;
history: MuStateSet<Schema['client']['identity']>;
state: Schema['client']['identity'];
windowSize: number;
private _protocol;
private _observedStates;
constructor(spec: {
schema: Schema;
client: MuClient;
windowSize?: number;
});
configure(spec?: {
ready?: () => void;
state?: (state: Schema['server']['identity'], tick: number, reliable: boolean) => void;
close?: () => void;
}): void;
commit(reliable?: boolean): void;
}