"use strict"; exports.__esModule = true; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /** * CountLimiter limits the number of items handled by a {@link PIXI.prepare.BasePrepare} to a specified * number of items per frame. * * @class * @memberof PIXI */ var CountLimiter = function () { /** * @param {number} maxItemsPerFrame - The maximum number of items that can be prepared each frame. */ function CountLimiter(maxItemsPerFrame) { _classCallCheck(this, CountLimiter); /** * The maximum number of items that can be prepared each frame. * @private */ this.maxItemsPerFrame = maxItemsPerFrame; /** * The number of items that can be prepared in the current frame. * @type {number} * @private */ this.itemsLeft = 0; } /** * Resets any counting properties to start fresh on a new frame. */ CountLimiter.prototype.beginFrame = function beginFrame() { this.itemsLeft = this.maxItemsPerFrame; }; /** * Checks to see if another item can be uploaded. This should only be called once per item. * @return {boolean} If the item is allowed to be uploaded. */ CountLimiter.prototype.allowedToUpload = function allowedToUpload() { return this.itemsLeft-- > 0; }; return CountLimiter; }(); exports.default = CountLimiter; //# sourceMappingURL=CountLimiter.js.map