phaser3-rex-plugins
Version:
2 lines (1 loc) • 20.6 kB
JavaScript
var t,i;t=void 0,i=function(){const t=Phaser.GameObjects.GetCalcMatrix,i=Phaser.Renderer.Canvas.SetTransform;var e={renderWebGL:function(i,e,s,r){var h=e.getRenderList();if(0!==h.length){s.addToRenderList(e);var n=i.pipelines.set(e.pipeline),a=e.frame.glTexture,o=n.setGameObject(e),l=s.roundPixels,d=t(e,s,r),u=n.calcMatrix.copyFrom(d.calc),c=e._displayOriginX,p=e._displayOriginY,g=s.alpha*e.alpha;i.pipelines.preBatch(e);for(var v=0,f=h.length;v<f;v++)h[v].webglRender(n,u,g,c,p,a,o,l);i.pipelines.postBatch(e)}},renderCanvas:function(t,e,s,r){var h=t.currentContext,n=e.getRenderList();if(0!==n.length&&i(t,h,e,s,r)){s.addToRenderList(e);var a=s.roundPixels,o=-e._displayOriginX,l=-e._displayOriginY;h.translate(o,l);for(var d=0,u=n.length;d<u;d++)n[d].canvasRender(h,o,l,a);h.restore()}}},s=function(t,i){if(this.width===t&&this.height===i)return this;this.width=t,this.height=i,this.updateDisplayOrigin();var e=this.input;return e&&!e.customHitArea&&(e.hitArea.width=t,e.hitArea.height=i),this};const r=Phaser.Utils.Array.Remove;var h=function(){return this.poolManager&&this.poolManager.freeMultiple(this.children.list),this.children.list.length=0,this.lastAppendedChildren.length=0,this.dirty=!0,this},n={setTint(t){return this.tint=t,this.tintFill=!1,this},setTintFill(t){return this.tint=t,this.tintFill=!0,this},clearTint(){return this.setTint(16777215),this}},a={setTexture:function(t,i){return this.texture=this.scene.sys.textures.get(t),this.frame=this.texture.get(i),this},resize:s,setSize:s,addChild:function(t){return this.lastAppendedChildren.length=0,Array.isArray(t)?(this.children.add(t),this.lastAppendedChildren.push(...t)):(this.children.add(t),this.lastAppendedChildren.push(t)),this},removeChild:function(t){return this.poolManager&&this.poolManager.free(t),r(this.children.list,t),this.lastAppendedChildren.length=0,this.dirty=!0,this},removeChildren:h,clear:h,getLastAppendedChildren:function(){return this.lastAppendedChildren},getChildren:function(){return this.children.list}};Object.assign(a,n);class o{constructor(){this.items=[]}destroy(){this.clear(),this.items=void 0}pop(){return this.items.length>0?this.items.pop():null}push(t){return this.items.push(t),this}pushMultiple(t){return this.items.push.apply(this.items,t),t.length=0,this}clear(){return this.items.length=0,this}}const l=Phaser.Utils.Objects.GetValue;var d={};class u{constructor(t){this.pools=l(t,"pools",d)}destroy(){this.pools=void 0}free(t){if(!this.pools)return this;var i=t.type;return this.pools.hasOwnProperty(i)||(this.pools[i]=new o),this.pools[i].push(t),t.onFree(),this}freeMultiple(t){if(!this.pools)return this;for(var i=0,e=t.length;i<e;i++)this.free(t[i]);return this}allocate(t){return this.pools&&this.pools.hasOwnProperty(t)?this.pools[t].pop():null}}var c=!1;!function(t){if(!c){void 0===t&&(t=60);var i=Phaser.VERSION.split("."),e=parseInt(i[0]);if(3===e){var s=parseInt(i[1]);s<t&&console.error(`Minimum supported version : ${e}.${s}`)}else console.error(`Can't supported version : ${e}`);c=!0}}();const p=Phaser.GameObjects.GameObject,g=Phaser.Utils.Objects.IsPlainObject,v=Phaser.Utils.Objects.GetValue,f=Phaser.Structs.List,y=Phaser.Utils.Array.StableSort;class m extends p{constructor(t,i,e,s,r,h){g(i)&&(i=v(h=i,"x",0),e=v(h,"y",0),s=v(h,"texture"),r=v(h,"frame")),void 0===i&&(i=0),void 0===e&&(e=0),super(t,"rexBlitter"),this.children=new f,this.renderList=[],this.displayListDirty=!1,this.lastAppendedChildren=[];var n=v(h,"reuseBob",!0);this.poolManager=n?new u(h):void 0,this.setTexture(s,r),this.setPosition(i,e),this.setOrigin(0,0),this.clearTint(),this.initPipeline(),this.initPostPipeline()}preDestroy(){this.removeChildren(),this.children.destroy(),this.renderList.length=0,this.poolManager&&this.poolManager.destroy()}getRenderList(){if(this.displayListDirty){this.renderList.length=0;for(var t=!1,i=this.children.list,e=0,s=i.length;e<s;e++){var r=i[e];w(r)&&(this.renderList.push(r),t||(t=0!==r.depth))}t&&y(this.renderList,P),this.displayListDirty=!1}return this.renderList}}var w=function(t){return t.active&&t.visible&&t.alpha>0},P=function(t,i){return t._depth-i._depth};const x=Phaser.GameObjects.Components;Phaser.Class.mixin(m,[x.Alpha,x.BlendMode,x.ComputedSize,x.Depth,x.GetBounds,x.Mask,x.Origin,x.Pipeline,x.PostPipeline,x.ScrollFactor,x.Transform,x.Visible,e,a]);var b=function(t,i,e){return"__BASE"===e?`${t},${i}`:`${e}:${t},${i}`};function O(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map((t=>O(t)));if(t instanceof Date)return new Date(t);if(t instanceof RegExp)return new RegExp(t);if(Object.getPrototypeOf(t)!==Object.prototype)return t;const i={};for(let e in t)t.hasOwnProperty(e)&&(i[e]=O(t[e]));return i}const _=Phaser.Utils.Objects.IsPlainObject,F=Phaser.Utils.Objects.GetValue;var X=function(t){return"string"==typeof t&&(t=Y[t]),t};const Y={scale:0,repeat:1};var D=function(t,i){return 0===t||t===this.columns.count-1||0===i||i===this.rows.count-1},S=function(){},A={_beginDraw:S,_drawImage:S,_drawTileSprite:S,_endDraw:S,setGetFrameNameCallback:function(t){return void 0===t&&(t=b),this.getFrameNameCallback=t,this},setBaseTexture:function(t,i,e,s){Array.isArray(i)&&(s=e,e=i,i=void 0),null==i&&(i="__BASE"),"number"==typeof e&&arguments.length>=6?(e=[arguments[2],void 0,arguments[3]],s=[arguments[4],void 0,arguments[5]]):void 0===e&&void 0===s&&void 0!==this.columns.data&&void 0!==this.rows.data?(e=this.columns.data,s=this.rows.data):(e=O(e),s=O(s)),this.textureKey=t,this.baseFrameName=i,this.columns.data=e,this.columns.count=e?e.length:0,this.columns.stretch=0,this.columns.minWidth=0,this.columns.scale=1,this.rows.data=s,this.rows.count=s?s.length:0,this.rows.stretch=0,this.rows.minHeight=0,this.rows.scale=1;var r=this.scene.sys.textures.get(t);if(!r)return this.clear(),this;if(!e||!s)return this.clear(),this;for(var h=r.get(i),n=h.width,a=0,o=0,l=e.length;o<l;o++)void 0===e[o]?a++:"number"==typeof e[o]?n-=e[o]:n-=e[o].width;var d=a>0?n/a:0,u=h.height,c=0;for(o=0,l=s.length;o<l;o++)void 0===s[o]?c++:"number"==typeof s[o]?u-=s[o]:u-=s[o].width;for(var p,g,v,f,y,m=c?u/c:0,w=0,P=0,x=0,b=s.length;x<b;x++){void 0===s[x]&&(s[x]=m),"number"==typeof s[x]&&(s[x]={height:s[x],stretch:x%2}),v=(p=s[x]).height,this.rows.stretch+=0|p.stretch,this.rows.minHeight+=p.stretch>0?0:v,w=0,o=0;for(var _=e.length;o<_;o++){if(void 0===e[o]&&(e[o]=d),"number"==typeof e[o]&&(e[o]={width:e[o],stretch:o%2}),f=(g=e[o]).width,0===x&&(this.columns.stretch+=0|g.stretch,this.columns.minWidth+=g.stretch>0?0:f),f>=1&&v>=1){var F=typeof(y=this.getFrameNameCallback(o,x,i));"string"!==F&&"number"!==F||r.add(y,0,w+h.cutX,P+h.cutY,f,v)}w+=f}P+=v}return this.updateTexture(),this},updateTexture:function(){if(this.clear(),void 0===this.textureKey)return this;var t=this.scene.sys.textures.get(this.textureKey);if(!t)return this;var i,e,s,r,h,n,a,o=this.columns.minWidth*this.maxFixedPartScaleX,l=this.rows.minHeight*this.maxFixedPartScaleY,d=this.width-o,u=this.height-l,c=d>=0?this.maxFixedPartScaleX:this.width/o,p=u>=0?this.maxFixedPartScaleY:this.height/l;if(this.preserveRatio){var g=Math.min(c,p);if(c>g){var v=(c-g)*o;d>=0?d+=v:d=v,c=g}if(p>g){var f=(p-g)*l;u>=0?u+=f:u=f,p=g}}this.columns.scale=c,this.rows.scale=p,i=d>0&&this.columns.stretch>0?d/this.columns.stretch:0,e=u>0&&this.rows.stretch>0?u/this.rows.stretch:0;var y=0,m=0;this._beginDraw();for(var w=0,P=this.rows.count;w<P;w++){a=0===(h=this.rows.data[w]).stretch?h.height*p:e*h.stretch,y=0;for(var x=0,b=this.columns.count;x<b;x++)n=0===(r=this.columns.data[x]).stretch?r.width*c:i*r.stretch,s=this.getFrameNameCallback(x,w,this.baseFrameName),t.has(s)&&n>0&&a>0&&(0==(0===h.stretch&&0===r.stretch||0===this.getStretchMode(x,w)?0:1)?this._drawImage(this.textureKey,s,y,m,n,a):this._drawTileSprite(this.textureKey,s,y,m,n,a)),y+=n;m+=a}this._endDraw()},setStretchMode:function(t){return _(t)?(this.stretchMode.edge=X(F(t,"edge",0)),this.stretchMode.internal=X(F(t,"internal",0))):(t=X(t),this.stretchMode.edge=t,this.stretchMode.internal=t),this},getStretchMode:function(t,i){return D.call(this,t,i)?this.stretchMode.edge:this.stretchMode.internal},setPreserveRatio:function(t){return null==t&&(t=!0),this.preserveRatio=t,this},setMaxFixedPartScale:function(t,i){return void 0===i&&(i=t),this.maxFixedPartScaleX=t,this.maxFixedPartScaleY=i,this}};const C=Phaser.Utils.Objects.IsPlainObject,M=Phaser.Utils.Objects.GetValue,T="image";var j=function(t,i,e){for(var s=t,r=e,h=0,n=i.length;h<n;h++){var a=i[h];if(!s||"object"!=typeof s&&"function"!=typeof s||!(a in s))return R.found=!1,R;s=r=s[a]}return R.found=!0,R.value=r,R},R={},L={enableData(){return void 0===this.data&&(this.data={}),this},setData(t,i){if(this.enableData(),1===arguments.length){var e=t;for(t in e)this.data[t]=e[t]}else this.data[t]=i;return this},getData(t,i){return this.enableData(),void 0===t?this.data:function(t,i,e,s){var r=t&&("object"==typeof t||"function"==typeof t),h=s&&("object"==typeof s||"function"==typeof s);if(!r&&!h)return e;var n=String(i);if(r&&n in t)return t[n];if(h&&n in s)return s[n];if(-1===n.indexOf("."))return e;var a=n.split(".");if(r){var o=j(t,a,e);if(o.found)return o.value}if(h){var l=j(s,a,e);if(l.found)return l.value}return e}(this.data,t,i)},incData(t,i,e){return void 0===e&&(e=0),this.enableData(),this.setData(t,this.getData(t,e)+i),this},mulData(t,i,e){return void 0===e&&(e=0),this.enableData(),this.setData(t,this.getData(t,e)*i),this},clearData(){return this.data&&function(t){if("object"!=typeof t||null===t)return t;if(Array.isArray(t))t.length=0;else for(var i in t)delete t[i]}(this.data),this}};class W{constructor(t,i){this.type=i,this.data=void 0,this.setParent(t).reset().setActive()}destroy(){this.parent&&this.parent.removeChild(this)}setParent(t){return this.parent=t,this}setDisplayListDirty(t){return t&&this.parent&&(this.parent.displayListDirty=!0),this}get active(){return this._active}set active(t){this.setDisplayListDirty(this._active!=t),this._active=t}setActive(t){return void 0===t&&(t=!0),this.active=t,this}modifyPorperties(t){return this}reset(){this.clearData()}onFree(){this.reset().setActive(!1).setParent()}}Object.assign(W.prototype,L);const H=Phaser.Math.DegToRad,G=Phaser.Math.RadToDeg,B=Phaser.Utils.Objects.GetValue;class U extends W{get visible(){return this._visible}set visible(t){this.setDisplayListDirty(this._visible!=t),this._visible=t}setVisible(t){return void 0===t&&(t=!0),this.visible=t,this}get alpha(){return this._alpha}set alpha(t){this.setDisplayListDirty(!!this._alpha!=!!t),this._alpha=t}setAlpha(t){return this.alpha=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setPosition(t,i){return this.x=t,this.y=i,this}setRotation(t){return this.rotation=t,this}get angle(){return G(this.rotation)}set angle(t){this.rotation=H(t)}setAngle(t){return this.angle=t,this}setScaleX(t){return this.scaleX=t,this}get width(){return this._width}set width(t){this._width=t}setWidth(t,i){return void 0===i&&(i=!1),this.width=t,i&&(this.scaleY=this.scaleX),this}setScaleY(t){return this.scaleY=t,this}setScale(t,i){return void 0===i&&(i=t),this.scaleX=t,this.scaleY=i,this}get height(){return this._height}set height(t){this._height=t}setHeight(t,i){return void 0===i&&(i=!1),this.height=t,i&&(this.scaleX=this.scaleY),this}setScale(t,i){return void 0===i&&(i=t),this.scaleX=t,this.scaleY=i,this}get displayWidth(){return this._width*this.scaleX}set displayWidth(t){this.scaleX=t/this._width}setDisplayWidth(t,i){return void 0===i&&(i=!1),this.displayWidth=t,i&&(this.scaleY=this.scaleX),this}get displayHeight(){return this._height*this.scaleY}set displayHeight(t){this.scaleY=t/this._height}setDisplayHeight(t,i){return void 0===i&&(i=!1),this.displayHeight=t,i&&(this.scaleX=this.scaleY),this}setOriginX(t){return this.originX=t,this._displayOriginX=this.width*t,this}setOriginY(t){return this.originY=t,this._displayOriginY=this.height*t,this}setOrigin(t,i){return void 0===i&&(i=t),this.setOriginX(t).setOriginY(i),this}get depth(){return this._depth}set depth(t){this.setDisplayListDirty(this._depth!=t),this._depth=t}setDepth(t){return void 0===t&&(t=0),this.depth=t,this}modifyPorperties(t){if(!t)return this;t.hasOwnProperty("x")&&this.setX(t.x),t.hasOwnProperty("y")&&this.setY(t.y),t.hasOwnProperty("rotation")?this.setRotation(t.rotation):t.hasOwnProperty("angle")&&this.setAngle(t.angle),t.hasOwnProperty("alpha")&&this.setAlpha(t.alpha);var i=B(t,"width",void 0),e=B(t,"height",void 0),s=B(t,"scale",void 0),r=B(t,"scaleX",s),h=B(t,"scaleY",s);void 0!==i?void 0===e&&void 0===h?this.setWidth(i,!0):this.setWidth(i):void 0!==r?this.setScaleX(r):t.hasOwnProperty("displayWidth")&&this.setDisplayWidth(t.displayWidth),void 0!==e?void 0===i&&void 0===r?this.setHeight(e,!0):this.setHeight(e):void 0!==h?this.setScaleY(h):t.hasOwnProperty("displayHeight")&&this.setDisplayHeight(t.displayHeight);var n=B(t,"origin",void 0);return void 0!==n?this.setOrigin(n):(t.hasOwnProperty("originX")&&this.setOriginX(t.originX),t.hasOwnProperty("originY")&&this.setOriginY(t.originY)),t.hasOwnProperty("depth")&&this.setDepth(t.depth),this}reset(){return super.reset(),this.setVisible().setAlpha(1).setPosition(0,0).setRotation(0).setScale(1,1).setOrigin(0).setDepth(0),this}webglRender(t,i,e,s,r,h,n,a){}canvasRender(t,i,e,s){}}const I=Phaser.GameObjects.Components.TransformMatrix,N=Phaser.Renderer.WebGL.Utils.getTintAppendFloatAlpha;var V=new I;const k=Phaser.Utils.Objects.IsPlainObject;class z extends U{constructor(t,i){super(t,T),this._crop=$(),this.setFrame(i)}get width(){return this._width}set width(t){}get height(){return this._height}set height(t){}setFrame(t){return arguments.length>0&&!k(t)&&(t=this.parent.texture.get(t)),this.frame=t,t?(this._width=t.realWidth,this._height=t.realHeight):(this._width=0,this._height=0),this}setFlipX(t){return void 0===t&&(t=!0),this.flipX=t,this}setFlipY(t){return void 0===t&&(t=!0),this.flipY=t,this}resetFlip(){return this.flipX=!1,this.flipY=!1,this}get tint(){return void 0===this._tint?this.parent.tint:this._tint}set tint(t){this._tint=t}setTint(t){return this.tint=t,this.tintFill=!1,this}setTintFill(t){return this.tint=t,this.tintFill=!0,this}clearTint(){return this.setTint(16777215),this}resetTint(){return this.tint=void 0,this.tintFill=void 0,this}get tintFill(){return void 0===this._tintFill?this.parent.tintFill:this._tintFill}set tintFill(t){this._tintFill=t}setCrop(t,i,e,s){return void 0===t?(this.isCropped=!1,this):this.frame?0===t&&0===i&&e===this._width&&s===this._height?(this.isCropped=!1,this):(this.frame.setCropUVs(this._crop,t,i,e,s,this.flipX,this.flipY),this.isCropped=!0,this):this}reset(){return super.reset(),this.resetFlip().resetTint().setFrame().setCrop(),this}modifyPorperties(t){return t?(t.hasOwnProperty("width")&&(t.displayWidth=t.width,delete t.width),t.hasOwnProperty("height")&&(t.displayHeight=t.height,delete t.height),t.hasOwnProperty("frame")&&this.setFrame(t.frame),super.modifyPorperties(t),t.hasOwnProperty("flipX")&&this.setFlipX(t.flipX),t.hasOwnProperty("flipY")&&this.setFlipY(t.flipY),t.hasOwnProperty("tint")&&this.setTint(t.tint),t.hasOwnProperty("tintFill")&&this.setTintFill(t.tintFill),this):this}}var $=function(t){return void 0===t&&(t={}),t.u0=0,t.v0=0,t.u1=0,t.v1=0,t.x=0,t.y=0,t.width=0,t.height=0,t.flipX=!1,t.flipY=!1,t.cx=0,t.cy=0,t.cw=0,t.ch=0,t},E={webglRender:function(t,i,e,s,r,h,n,a){var o=this.frame;if(o){var l,d,u,c,p,g,v,f,y=this._width,m=this._height,w=y*this.originX,P=m*this.originY,x=this.x-s,b=this.y-r;if(this.isCropped){var O=this._crop;O.flipX===this.flipX&&O.flipY===this.flipY||o.updateCropUVs(O,this.flipX,this.flipY),l=O.u0,d=O.v0,u=O.u1,c=O.v1,v=O.width,f=O.height,p=O.x,g=O.y}else l=this.frame.u0,d=this.frame.v0,u=this.frame.u1,c=this.frame.v1,v=y,f=m,p=0,g=0;var _=1,F=1;this.flipX&&(x+=y-2*w,_=-1),this.flipY&&(b+=m-2*P,F=-1),V.applyITRS(x,b,this.rotation,this.scaleX*_,this.scaleY*F),i.multiply(V,V);var X=-w+p,Y=-P+g,D=X+v,S=Y+f,A=V.setQuad(X,Y,D,S,a),C=N(this.tint,this.alpha*e);t.batchQuad(this.parent,A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],l,d,u,c,C,C,C,C,this.tintFill,h,n)}},canvasRender:function(t,i,e,s){var r=this.frame;if(r){t.save();var h,n,a,o,l=this._width,d=this._height,u=l*this.originX,c=d*this.originY,p=this.x-u,g=this.y-c;if(this.isCropped){var v=this._crop;v.flipX===this.flipX&&v.flipY===this.flipY||r.updateCropUVs(v,this.flipX,this.flipY),a=v.cw,o=v.ch,h=v.cx,n=v.cy}else a=r.cutWidth,o=r.cutHeight,h=r.cutX,n=r.cutY;var f=1,y=1;this.flipX&&(p+=l,f=-1),this.flipY&&(g+=d,y=-1);var m=r.source.resolution,w=a/m,P=o/m;s&&(p=Math.floor(p+.5),g=Math.floor(g+.5),w+=.5,P+=.5),t.translate(p,g),t.rotate(this.rotation),t.scale(this.scaleX*f,this.scaleY*y),t.drawImage(r.source.image,h,n,a,o,0,0,w,P),t.restore()}}};Object.assign(z.prototype,E);var K=function(t,i){"string"==typeof i&&(i={frame:i});var e=t.poolManager?t.poolManager.allocate(T):null;return null===e?e=new z(t):e.setParent(t).setActive(),e.modifyPorperties(i),t.addChild(e),e},Q={_drawImage:function(t,i,e,s,r,h){K(this,{frame:i,x:e,y:s,width:r,height:h})},_drawTileSprite:function(t,i,e,s,r,h){var n=this.texture.get(i),a=n.width,o=n.height,l=r%a,d=h%o;0===l&&(l=a),0===d&&(d=o);for(var u=Math.ceil(r/a),c=Math.ceil(h/o),p=u-1,g=c-1,v=0;v<u;v++)for(var f=0;f<c;f++){let t=K(this,{frame:i,x:e+v*a,y:s+f*o});var y=v===p?l:a,m=f===g?d:o;y===a&&m===o||t.setCrop(0,0,y,m)}}};class q extends(function(t,i){class e extends t{constructor(t,e,s,r,h,n,a,o,l,d){if(C(e)?(e=M(d=e,"x",0),s=M(d,"y",0),r=M(d,"width",1),h=M(d,"height",1),n=M(d,"key",void 0),a=M(d,"baseFrame",void 0),o=M(d,"columns",void 0),l=M(d,"rows",void 0)):C(r)?(r=M(d=r,"width",1),h=M(d,"height",1),n=M(d,"key",void 0),a=M(d,"baseFrame",void 0),o=M(d,"columns",void 0),l=M(d,"rows",void 0)):C(n)?(n=M(d=n,"key",void 0),a=M(d,"baseFrame",void 0),o=M(d,"columns",void 0),l=M(d,"rows",void 0)):C(a)?(a=M(d=a,"baseFrame",void 0),o=M(d,"columns",void 0),l=M(d,"rows",void 0)):Array.isArray(a)?(d=l,l=o,o=a,a=M(d,"baseFrame",void 0)):C(o)&&(o=M(d=o,"columns",void 0),l=M(d,"rows",void 0)),void 0===a&&(a=M(d,"frame",void 0)),void 0===o){var u=M(d,"leftWidth",void 0),c=M(d,"rightWidth",void 0);void 0!==u&&void 0!==c&&(o=[u,void 0,c])}if(void 0===l){var p=M(d,"topHeight",void 0),g=M(d,"bottomHeight",void 0);void 0!==p&&void 0!==g&&(l=[p,void 0,g])}super(t),this.type=i,this.setPosition(e,s).setSize(r,h).setOrigin(.5,.5),this.columns={},this.rows={},this.stretchMode={},this._tileSprite=void 0,this._image=void 0,this.setGetFrameNameCallback(M(d,"getFrameNameCallback",void 0)),this.setStretchMode(M(d,"stretchMode",0)),this.setPreserveRatio(M(d,"preserveRatio",!0));var v=M(d,"maxFixedPartScale",1),f=M(d,"maxFixedPartScaleX",v),y=M(d,"maxFixedPartScaleY",void 0);this.setMaxFixedPartScale(f,y),this.setBaseTexture(n,a,o,l)}get minWidth(){return this.columns.minWidth}get minHeight(){return this.rows.minHeight}get fixedPartScaleX(){return this.columns.scale}get fixedPartScaleY(){return this.rows.scale}resize(t,i){return this.width===t&&this.height===i||(super.resize?super.resize(t,i):super.setSize(t,i),this.updateTexture()),this}get leftWidth(){return this.columns.data[0]}get rightWidth(){return this.columns.data[this.columns.count-1]}get topHeight(){return this.rows.data[0]}get bottomHeight(){return this.rows.data[this.rows.count-1]}}return Object.assign(e.prototype,A),e}(m,"rexNinePatch2")){setBaseTexture(t,i,e,s){return this.setTexture(t,i),super.setBaseTexture(t,i,e,s),this}}function J(t,i,e,s,r,h,n,a,o){var l=new q(this.scene,t,i,e,s,r,h,n,a,o);return this.scene.add.existing(l),l}Object.assign(q.prototype,Q);const Z=Phaser.GameObjects.BuildGameObject;function tt(t,i){void 0===t&&(t={}),void 0!==i&&(t.add=i);var e=new q(this.scene,t);return Z(this.scene,e,t),e}var it=function(t){return null!==t&&"object"==typeof t};class et extends Phaser.Plugins.BasePlugin{constructor(t){super(t),t.registerGameObject("rexNinePatch2",J,tt)}start(){this.game.events.on("destroy",this.destroy,this)}}return function(t,i,e,s="."){if(!it(t))return t;if(function(t){return null==t}(i)||""===i||Array.isArray(i)&&0===i.length)return t;if("string"==typeof i&&-1===i.indexOf(s)||"number"==typeof i)return t[i]=e,t;var r=function(t,i){return Array.isArray(t)||(t="string"!=typeof t||""===t.trim()?[]:t.split(i).filter(Boolean)),t}(i,s);if(0===r.length)return t;for(var h=t,n=r.length,a=0;a<n-1;a++){var o=r[a],l=h[o];it(l)||(h[o]={}),h=h[o]}h[r[n-1]]=e}(window,"RexPlugins.GameObjects.NinePatch2",q),et},"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(t="undefined"!=typeof globalThis?globalThis:t||self).rexninepatch2plugin=i();