///
export class Event2Args {
private handlers: { (data?: T,data2?: M): void; }[] = [];
public on(handler: { (data?: T,data2?: M): void }) {
this.handlers.push(handler);
}
public off(handler: { (data?: T,data2?: M): void }) {
this.handlers = this.handlers.filter(h => h !== handler);
}
public allOff() {
this.handlers = [];
}
public trigger(data?: T,data2?: M) {
if (this.handlers) {
this.handlers.slice(0).forEach(h => h(data,data2));
}
}
}