export default FlowEngine; export type EventOptions = { delay: number; loop: number; }; declare class FlowEngine { /** * * @param {Scene} scene */ constructor(scene: Scene); active: boolean; /** * @protected * @type {Scene} */ protected scene: Scene; /** @type {EventProcessor} */ events: EventProcessor; /** @type {TimeEventProcessor} */ timer: TimeEventProcessor; /** @type {CollisionEventProcessor|null} */ physics: CollisionEventProcessor | null; /** @type {JobProcessor} */ jobs: JobProcessor; /** * @protected * @type {Time.TimerEvent} */ protected timeLoop: Time.TimerEvent; /** * @protected * @type {Logger} */ protected logger: Logger; /** * @private * @type {Array} */ private processors; /** * @template {FlowProcessor} T * @param {string} eventType * @param {new T} processorClass * @returns {T} */ addProcessor(eventType: string, processorClass: new () => T): T; /** * @template {FlowProcessor} T * @param {string} eventType * @returns {T|null} */ getProcessor(eventType: string): T_1; destroy(): void; /** @private */ private doUpdate; } import Scene from "../Scene"; import EventProcessor from "./EventProcessor"; import TimeEventProcessor from "./TimeEventProcessor"; import CollisionEventProcessor from "./CollisionEventProcessor"; import JobProcessor from "./JobProcessor"; import { Time } from "phaser"; import { Logger } from "@toolcase/logging"; import FlowProcessor from "./FlowProcessor";