Files
esengine/source/src/Utils/Timers/TimerManager.ts

32 lines
979 B
TypeScript
Raw Normal View History

module es {
/**
*
*/
export class TimerManager extends GlobalManager {
public _timers: Timer[] = [];
public update() {
for (let i = this._timers.length - 1; i >= 0; i --){
if (this._timers[i].tick()){
this._timers[i].unload();
2021-03-29 15:28:18 +08:00
new es.List(this._timers).removeAt(i);
}
}
}
/**
*
* @param timeInSeconds
* @param repeats
* @param context
* @param onTime
*/
public schedule(timeInSeconds: number, repeats: boolean, context: any, onTime: (timer: ITimer)=>void){
let timer = new Timer();
timer.initialize(timeInSeconds, repeats, context, onTime);
this._timers.push(timer);
return timer;
}
}
}