simscript
Version:
A Discrete Event Simulation Library in TypeScript
43 lines (42 loc) • 1.61 kB
TypeScript
import { Simulation, IMovePath } from './simulation';
import { Queue } from './queue';
import { RandomVar } from './random';
import { IPoint } from './util';
export interface IAnimationPosition {
position: IPoint;
angle: number;
}
export declare class Entity<S extends Simulation = Simulation> {
_sim: S | null;
_queues: Map<any, any>;
private _serial;
private _prty;
private _str;
private static _serial;
constructor(options?: any);
get simulation(): S;
get serial(): number;
get priority(): number;
set priority(value: number);
delay(delay: number, path?: IMovePath, signal?: any): Promise<number>;
enterQueue(queue: Queue, units?: number): Promise<number>;
enterQueueImmediately(queue: Queue, units?: number): void;
canEnterQueue(q: Queue, units?: number): boolean;
seize(resource: Queue, delay: number, waitingQueues?: Queue[] | Queue | null, preemptSignal?: any, units?: number): Promise<void>;
leaveQueue(q: Queue): void;
waitSignal(signal: any): Promise<number>;
sendSignal(signal: any, releaseMax?: number): number;
getAnimationPosition(q: Queue, start: IPoint, end: IPoint): IAnimationPosition;
dispose(): void;
toString(): string;
script(): Promise<void>;
}
export declare class EntityGenerator extends Entity {
private _type;
private _interval;
private _max;
private _tmStart;
private _tmEnd;
constructor(entityType: any, interval?: RandomVar | number, max?: number, timeStart?: number, timeEnd?: number);
script(): Promise<void>;
}