UNPKG

@haelp/teto

Version:

A typescript-based controllable TETR.IO client.

81 lines (80 loc) 2.09 kB
import { RNG } from "../utils"; export interface GarbageQueueInitializeParams { cap: { value: number; marginTime: number; increase: number; absolute: number; max: number; }; messiness: { change: number; within: number; nosame: boolean; timeout: number; center: boolean; }; garbage: { speed: number; holeSize: number; }; multiplier: { value: number; increase: number; marginTime: number; }; bombs: boolean; seed: number; boardWidth: number; rounding: "down" | "rng"; openerPhase: number; specialBonus: boolean; } export interface Garbage { frame: number; amount: number; size: number; } export interface IncomingGarbage extends Garbage { cid: number; gameid: number; confirmed: boolean; } export interface OutgoingGarbage extends Garbage { id: number; column: number; } export interface GarbageQueueSnapshot { seed: number; lastTankTime: number; lastColumn: number | null; sent: number; hasChangedColumn: boolean; lastReceivedCount: number; queue: IncomingGarbage[]; } export declare class GarbageQueue { #private; options: GarbageQueueInitializeParams; queue: IncomingGarbage[]; lastTankTime: number; lastColumn: number | null; hasChangedColumn: boolean; lastReceivedCount: number; rng: RNG; sent: number; constructor(options: GarbageQueueInitializeParams); snapshot(): GarbageQueueSnapshot; fromSnapshot(snapshot: GarbageQueueSnapshot): void; rngex(): number; get size(): number; resetReceivedCount(): void; receive(...args: IncomingGarbage[]): void; confirm(cid: number, gameid: number, frame: number): boolean; cancel(amount: number, pieceCount: number, legacy?: { openerPhase?: boolean; }): readonly [number, IncomingGarbage[]]; tank(frame: number, cap: number, hard: boolean): OutgoingGarbage[]; round(amount: number): number; } export * from "./legacy";