UNPKG

pixi.js

Version:

<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">

46 lines (43 loc) 1.14 kB
import { extensions, ExtensionType } from '../../extensions/Extensions.mjs'; import { BigPool } from '../../utils/pool/PoolGroup.mjs'; "use strict"; class MaskEffectManagerClass { constructor() { /** @private */ this._effectClasses = []; this._tests = []; this._initialized = false; } init() { if (this._initialized) return; this._initialized = true; this._effectClasses.forEach((test) => { this.add({ test: test.test, maskClass: test }); }); } add(test) { this._tests.push(test); } getMaskEffect(item) { if (!this._initialized) this.init(); for (let i = 0; i < this._tests.length; i++) { const test = this._tests[i]; if (test.test(item)) { return BigPool.get(test.maskClass, item); } } return item; } returnMaskEffect(effect) { BigPool.return(effect); } } const MaskEffectManager = new MaskEffectManagerClass(); extensions.handleByList(ExtensionType.MaskEffect, MaskEffectManager._effectClasses); export { MaskEffectManager, MaskEffectManagerClass }; //# sourceMappingURL=MaskEffectManager.mjs.map