var gdjs; (function(gdjs2) { class TimeManager { constructor() { this._elapsedTime = 0; this._timeScale = 1; this._timeFromStart = 0; this._firstFrame = true; this._timers = new Hashtable(); this._firstUpdateDone = false; this.reset(); } reset() { this._elapsedTime = 0; this._timeScale = 1; this._timeFromStart = 0; this._firstFrame = true; this._timers = new Hashtable(); } update(elapsedTime, minimumFPS) { if (this._firstUpdateDone) { this._firstFrame = false; } this._firstUpdateDone = true; this._elapsedTime = Math.min(elapsedTime, 1e3 / minimumFPS); this._elapsedTime *= this._timeScale; for (const name in this._timers.items) { if (this._timers.items.hasOwnProperty(name)) { this._timers.items[name].updateTime(this._elapsedTime); } } this._timeFromStart += this._elapsedTime; } setTimeScale(timeScale) { if (timeScale >= 0) { this._timeScale = timeScale; } } getTimeScale() { return this._timeScale; } getTimeFromStart() { return this._timeFromStart; } isFirstFrame() { return this._firstFrame; } getElapsedTime() { return this._elapsedTime; } addTimer(name) { this._timers.put(name, new gdjs2.Timer(name)); } hasTimer(name) { return this._timers.containsKey(name); } getTimer(name) { return this._timers.get(name); } removeTimer(name) { if (this._timers.containsKey(name)) { this._timers.remove(name); } } } gdjs2.TimeManager = TimeManager; })(gdjs || (gdjs = {})); //# sourceMappingURL=timemanager.js.map