UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

46 lines 1.82 kB
import { TgdLogic } from "../context"; import type { TgdPainterFunction } from "../types/painter"; import { type TgdDebugPainterHierarchy, TgdPainter } from "./painter"; export type TgdPainterGroupOptions = { onEnter?(time: number, delta: number): void; onExit?(time: number, delta: number): void; name?: string; children?: (TgdPainter | TgdPainterFunction)[]; }; /** * Group several painters together. */ export declare class TgdPainterGroup extends TgdPainter { /** * the logic will be executed at the beginning of `paint()`. */ readonly logic: TgdLogic; active: boolean; onEnter: TgdPainterFunction | undefined; onExit: TgdPainterFunction | undefined; protected readonly painters: TgdPainter[]; private readonly logics; constructor(); constructor(painters?: (TgdPainter | TgdPainterFunction)[], options?: TgdPainterGroupOptions); constructor(options?: TgdPainterGroupOptions); forEachChild(callback: (child: TgdPainter, index: number) => void): void; has(painter: TgdPainter): boolean; add(...painters: (TgdPainter | TgdPainterFunction)[]): void; addFirst(...painters: TgdPainter[]): void; remove(...painters: TgdPainter[]): void; removeWithoutDeleting(...painters: TgdPainter[]): void; /** * Remove all the painters from this group. * * @param deleteRemovedPainters By default, when a painter is removed, * its `delete()` function is called. You can prevent this by setting * `deleteRemovedPainters === false`. */ removeAll(deleteRemovedPainters?: boolean): void; delete(): void; paint(time: number, delta: number): void; get hierarchy(): TgdDebugPainterHierarchy; debugHierarchy(caption?: string): void; private recursiveDebug; } //# sourceMappingURL=group.d.ts.map