UNPKG

@tamgl/colyseus-schema

Version:

Binary state serializer with delta encoding for games

24 lines (23 loc) 1.17 kB
import type { Schema } from "../Schema"; import { TypeContext } from "../types/TypeContext"; import type { Iterator } from "../encoding/decode"; import { Root } from "./Root"; import type { StateView } from "./StateView"; import type { ChangeSetName } from "./ChangeTree"; export declare class Encoder<T extends Schema = any> { static BUFFER_SIZE: number; sharedBuffer: Buffer; context: TypeContext; state: T; root: Root; constructor(state: T); protected setState(state: T): void; encode(it?: Iterator, view?: StateView, buffer?: Buffer, changeSetName?: ChangeSetName, isEncodeAll?: boolean, initialOffset?: number): Buffer; encodeAll(it?: Iterator, buffer?: Buffer): Buffer; encodeAllView(view: StateView, sharedOffset: number, it: Iterator, bytes?: Buffer): Buffer; debugChanges(field: "changes" | "allFilteredChanges" | "allChanges" | "filteredChanges"): void; encodeView(view: StateView, sharedOffset: number, it: Iterator, bytes?: Buffer): Buffer; discardChanges(): void; tryEncodeTypeId(bytes: Buffer, baseType: typeof Schema, targetType: typeof Schema, it: Iterator): void; get hasChanges(): boolean; }