40 lines
1.4 KiB
JavaScript
40 lines
1.4 KiB
JavaScript
shadow$provide.module$node_modules$pixi_DOT_js$lib$rendering$mask$MaskEffectManager = function(global, require, module, exports) {
|
|
global = require("module$node_modules$pixi_DOT_js$lib$extensions$Extensions");
|
|
var PoolGroup = require("module$node_modules$pixi_DOT_js$lib$utils$pool$PoolGroup");
|
|
"use strict";
|
|
class MaskEffectManagerClass {
|
|
constructor() {
|
|
this._effectClasses = [];
|
|
this._tests = [];
|
|
this._initialized = !1;
|
|
}
|
|
init() {
|
|
this._initialized || (this._initialized = !0, this._effectClasses.forEach(test => {
|
|
this.add({test:test.test, maskClass:test});
|
|
}));
|
|
}
|
|
add(test) {
|
|
this._tests.push(test);
|
|
}
|
|
getMaskEffect(item) {
|
|
this._initialized || this.init();
|
|
for (let i = 0; i < this._tests.length; i++) {
|
|
const test = this._tests[i];
|
|
if (test.test(item)) {
|
|
return PoolGroup.BigPool.get(test.maskClass, item);
|
|
}
|
|
}
|
|
return item;
|
|
}
|
|
returnMaskEffect(effect) {
|
|
PoolGroup.BigPool.return(effect);
|
|
}
|
|
}
|
|
require = new MaskEffectManagerClass();
|
|
global.extensions.handleByList(global.ExtensionType.MaskEffect, require._effectClasses);
|
|
exports.MaskEffectManager = require;
|
|
exports.MaskEffectManagerClass = MaskEffectManagerClass;
|
|
};
|
|
|
|
//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$rendering$mask$MaskEffectManager.js.map
|