41 lines
1.4 KiB
JavaScript
41 lines
1.4 KiB
JavaScript
shadow$provide.module$node_modules$pixi_DOT_js$lib$utils$pool$PoolGroup = function(global, require, module, exports) {
|
|
global = require("module$node_modules$pixi_DOT_js$lib$utils$pool$GlobalResourceRegistry");
|
|
var Pool = require("module$node_modules$pixi_DOT_js$lib$utils$pool$Pool");
|
|
"use strict";
|
|
class PoolGroupClass {
|
|
constructor() {
|
|
this._poolsByClass = new Map();
|
|
}
|
|
prepopulate(Class, total) {
|
|
this.getPool(Class).prepopulate(total);
|
|
}
|
|
get(Class, data) {
|
|
return this.getPool(Class).get(data);
|
|
}
|
|
return(item) {
|
|
this.getPool(item.constructor).return(item);
|
|
}
|
|
getPool(ClassType) {
|
|
this._poolsByClass.has(ClassType) || this._poolsByClass.set(ClassType, new Pool.Pool(ClassType));
|
|
return this._poolsByClass.get(ClassType);
|
|
}
|
|
stats() {
|
|
const stats = {};
|
|
this._poolsByClass.forEach(pool => {
|
|
stats[stats[pool._classType.name] ? pool._classType.name + pool._classType.ID : pool._classType.name] = {free:pool.totalFree, used:pool.totalUsed, size:pool.totalSize};
|
|
});
|
|
return stats;
|
|
}
|
|
clear() {
|
|
this._poolsByClass.forEach(pool => pool.clear());
|
|
this._poolsByClass.clear();
|
|
}
|
|
}
|
|
require = new PoolGroupClass();
|
|
global.GlobalResourceRegistry.register(require);
|
|
exports.BigPool = require;
|
|
exports.PoolGroupClass = PoolGroupClass;
|
|
};
|
|
|
|
//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$utils$pool$PoolGroup.js.map
|