@awayjs/stage
Version:
Stage for AwayJS
41 lines • 1.17 kB
TypeScript
export interface IUnloadable {
id?: number;
keepAliveTime?: number;
lastUsedTime: number;
canUnload: boolean;
unload(): void;
apply?(...args: any[]): void;
}
export interface IManagerOptions {
name?: string;
keepAliveTime?: number;
exectionPeriod?: number;
maxUnloadTasks?: number;
priority?: number;
}
export declare class UnloadService {
static tick: number;
private static managers;
static createManager<T extends IUnloadable>(options?: IManagerOptions): UnloadManager<T>;
static executeAll(): void;
static clearAll(): void;
}
export declare class UnloadManager<T extends IUnloadable> {
static MIN_QUANT: number;
_tasks: Set<T>;
name: string;
priority: number;
keepAliveTime: number;
exectuionTimeout: number;
unloadTaskShift: number;
maxUnloadTask: number;
constructor(options?: IManagerOptions);
private _lastExecutionTime;
private _lastCorrectedTime;
get correctedTime(): number;
addTask(task: T): boolean;
removeTask(task: T): boolean;
execute(force?: boolean): number;
clear(): void;
}
//# sourceMappingURL=UnloadManager.d.ts.map