UNPKG

@rjfwhite/random-lib

Version:

Core engine for MML

54 lines 1.87 kB
import { Behavior, BehaviorConstructor } from "./behaviors/types"; export declare class WorldMaker { private behaviorClasses; private activeBehaviors; private elementParentMap; private observer; private lastTime; private tickIntervalId; private isRunning; private rootElement; private stats; private statsElement; constructor(); registerBehavior(behaviorClass: BehaviorConstructor): void; getBehavior<T extends Behavior>(element: Element, behaviorClass: new (element: Element, world: WorldMaker) => T): T | null; hasBehavior(element: Element, behaviorClass: BehaviorConstructor): boolean; getAllBehaviors(element: Element): Behavior[]; getElementsWithBehavior(behaviorClass: BehaviorConstructor): Element[]; getRootElement(): Element | null; private initStatsDisplay; private updateStatsDisplay; getStats(): { tickTime: number; fps: number; elementCount: number; behaviorCount: number; behaviorsTicked: number; systemCount: number; systemsTicked: number; msPerBehaviorTick: number; msPerSystemTick: number; lastStatsUpdate: number; frameCount: number; totalTickTime: number; }; forceCleanupDisconnectedElements(): number; getActiveBehaviorCount(): number; getDisconnectedElementCount(): number; private cleanupDisconnectedElements; private elementMatchesRules; private elementMatchesSelector; startObserving(root: Element): void; stopObserving(): void; private startTickLoop; private stopTickLoop; private handleMutations; private checkElementForBehaviors; private attachBehavior; private detachBehavior; private updateBehaviorAttribute; private removeElementBehaviors; private tick; } //# sourceMappingURL=WorldMaker.d.ts.map