shadow$provide.module$node_modules$pixi_DOT_js$lib$ticker$Ticker = function(global, require, module, exports) { var _const = require("module$node_modules$pixi_DOT_js$lib$ticker$const"), TickerListener = require("module$node_modules$pixi_DOT_js$lib$ticker$TickerListener"); "use strict"; const node_modules$pixi_DOT_js$lib$ticker$Ticker$classdecl$var3 = class { constructor() { this.autoStart = !1; this.deltaTime = 1; this.lastTime = -1; this.speed = 1; this.started = !1; this._requestId = null; this._maxElapsedMS = 100; this._minElapsedMS = 0; this._protected = !1; this._lastFrame = -1; this._head = new TickerListener.TickerListener(null, null, Infinity); this.deltaMS = 1 / node_modules$pixi_DOT_js$lib$ticker$Ticker$classdecl$var3.targetFPMS; this.elapsedMS = 1 / node_modules$pixi_DOT_js$lib$ticker$Ticker$classdecl$var3.targetFPMS; this._tick = time => { this._requestId = null; this.started && (this.update(time), this.started && null === this._requestId && this._head.next && (this._requestId = requestAnimationFrame(this._tick))); }; } _requestIfNeeded() { null === this._requestId && this._head.next && (this._lastFrame = this.lastTime = performance.now(), this._requestId = requestAnimationFrame(this._tick)); } _cancelIfNeeded() { null !== this._requestId && (cancelAnimationFrame(this._requestId), this._requestId = null); } _startIfPossible() { this.started ? this._requestIfNeeded() : this.autoStart && this.start(); } add(fn, context, priority = _const.UPDATE_PRIORITY.NORMAL) { return this._addListener(new TickerListener.TickerListener(fn, context, priority)); } addOnce(fn, context, priority = _const.UPDATE_PRIORITY.NORMAL) { return this._addListener(new TickerListener.TickerListener(fn, context, priority, !0)); } _addListener(listener) { let current = this._head.next, previous = this._head; if (current) { for (; current;) { if (listener.priority > current.priority) { listener.connect(previous); break; } previous = current; current = current.next; } listener.previous || listener.connect(previous); } else { listener.connect(previous); } this._startIfPossible(); return this; } remove(fn, context) { let listener = this._head.next; for (; listener;) { listener = listener.match(fn, context) ? listener.destroy() : listener.next; } this._head.next || this._cancelIfNeeded(); return this; } get count() { if (!this._head) { return 0; } let count = 0, current = this._head; for (; current = current.next;) { count++; } return count; } start() { this.started || (this.started = !0, this._requestIfNeeded()); } stop() { this.started && (this.started = !1, this._cancelIfNeeded()); } destroy() { if (!this._protected) { this.stop(); let listener = this._head.next; for (; listener;) { listener = listener.destroy(!0); } this._head.destroy(); this._head = null; } } update(currentTime = performance.now()) { if (currentTime > this.lastTime) { var elapsedMS = this.elapsedMS = currentTime - this.lastTime; elapsedMS > this._maxElapsedMS && (elapsedMS = this._maxElapsedMS); elapsedMS *= this.speed; if (this._minElapsedMS) { var delta = currentTime - this._lastFrame | 0; if (delta < this._minElapsedMS) { return; } this._lastFrame = currentTime - delta % this._minElapsedMS; } this.deltaMS = elapsedMS; this.deltaTime = this.deltaMS * node_modules$pixi_DOT_js$lib$ticker$Ticker$classdecl$var3.targetFPMS; elapsedMS = this._head; for (delta = elapsedMS.next; delta;) { delta = delta.emit(this); } elapsedMS.next || this._cancelIfNeeded(); } else { this.deltaTime = this.deltaMS = this.elapsedMS = 0; } this.lastTime = currentTime; } get FPS() { return 1e3 / this.elapsedMS; } get minFPS() { return 1e3 / this._maxElapsedMS; } set minFPS(fps) { this._maxElapsedMS = 1 / Math.min(Math.max(0, fps) / 1e3, node_modules$pixi_DOT_js$lib$ticker$Ticker$classdecl$var3.targetFPMS); this._minElapsedMS && fps > this.maxFPS && (this.maxFPS = fps); } get maxFPS() { return this._minElapsedMS ? Math.round(1e3 / this._minElapsedMS) : 0; } set maxFPS(fps) { 0 === fps ? this._minElapsedMS = 0 : (fps < this.minFPS && (this.minFPS = fps), this._minElapsedMS = 1 / (fps / 1e3)); } static get shared() { if (!node_modules$pixi_DOT_js$lib$ticker$Ticker$classdecl$var3._shared) { const shared = node_modules$pixi_DOT_js$lib$ticker$Ticker$classdecl$var3._shared = new node_modules$pixi_DOT_js$lib$ticker$Ticker$classdecl$var3(); shared.autoStart = !0; shared._protected = !0; } return node_modules$pixi_DOT_js$lib$ticker$Ticker$classdecl$var3._shared; } static get system() { if (!node_modules$pixi_DOT_js$lib$ticker$Ticker$classdecl$var3._system) { const system = node_modules$pixi_DOT_js$lib$ticker$Ticker$classdecl$var3._system = new node_modules$pixi_DOT_js$lib$ticker$Ticker$classdecl$var3(); system.autoStart = !0; system._protected = !0; } return node_modules$pixi_DOT_js$lib$ticker$Ticker$classdecl$var3._system; } }; global = node_modules$pixi_DOT_js$lib$ticker$Ticker$classdecl$var3; global.targetFPMS = 0.06; exports.Ticker = global; }; //# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$ticker$Ticker.js.map