UNPKG

pixi-dragonbones-runtime

Version:
3 lines (2 loc) 1.24 kB
class o{constructor(){this.hashCode=o._hashCode++,this._isInPool=!1}static _returnObject(t){const n=t.constructor.toString(),l=n in o._maxCountMap?o._maxCountMap[n]:o._defaultMaxCount,a=o._poolsMap[n]=o._poolsMap[n]||[];a.length<l&&(t._isInPool?console.warn("The object is already in the pool."):(t._isInPool=!0,a.push(t)))}static toString(){throw new Error}static setMaxCount(t,n){if((n<0||n!=n)&&(n=0),null!==t){const l=t.toString(),a=l in o._poolsMap?o._poolsMap[l]:null;null!==a&&a.length>n&&(a.length=n),o._maxCountMap[l]=n}else{o._defaultMaxCount=n;for(let t in o._poolsMap){const l=o._poolsMap[t];l.length>n&&(l.length=n),t in o._maxCountMap&&(o._maxCountMap[t]=n)}}}static clearPool(t=null){if(null!==t){const n=t.toString(),l=n in o._poolsMap?o._poolsMap[n]:null;null!==l&&l.length>0&&(l.length=0)}else for(let t in o._poolsMap){o._poolsMap[t].length=0}}static borrowObject(t){const n=t.toString(),l=n in o._poolsMap?o._poolsMap[n]:null;if(null!==l&&l.length>0){const o=l.pop();return o._isInPool=!1,o}const a=new t;return a._onClear(),a}returnToPool(){this._onClear(),o._returnObject(this)}}o._hashCode=0,o._defaultMaxCount=3e3,o._maxCountMap={},o._poolsMap={};export{o as BaseObject}; //# sourceMappingURL=BaseObject.mjs.map