import { Engine } from './Engine'; export declare abstract class System { /** 系统优先级,数值越小越先执行 */ static priority: number; /** 系统是否启用 */ enabled: boolean; /** 引擎引用 */ protected engine: Engine; /** * 系统初始化时调用 */ onCreate?(): void; /** * 每帧更新前调用 */ onPreUpdate?(dt: number): void; /** * 每帧更新时调用 */ onUpdate?(dt: number): void; /** * 每帧更新后调用 */ onPostUpdate?(dt: number): void; /** * 渲染前调用 */ onPreRender?(ctx: CanvasRenderingContext2D): void; /** * 渲染时调用 */ onRender?(ctx: CanvasRenderingContext2D): void; /** * 渲染后调用 */ onPostRender?(ctx: CanvasRenderingContext2D): void; /** * 系统销毁时调用 */ onDestroy?(): void; /** * 获取其他系统 */ protected system(SystemClass: new () => T): T; /** * 发送事件 */ protected emit(event: K, data?: unknown): void; /** * 监听事件 */ protected on(event: K, callback: (data: unknown) => void): void; } export type SystemClass = new () => System; //# sourceMappingURL=System.d.ts.map