UNPKG

@petkoneo/phaser3-rex-plugins

Version:
2 lines (1 loc) 18.7 kB
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,a){e.updateData(),s.addToRenderList(e);var h=i.pipelines.set(e.pipeline),r=t(e,s,a),n=h.calcMatrix.copyFrom(r.calc),o=e._displayOriginX,l=e._displayOriginY,u=s.alpha*e.alpha;i.pipelines.preBatch(e);for(var d,p=e.geom,c=0,v=p.length;c<v;c++)(d=p[c]).visible&&d.webglRender(h,n,u,o,l);i.pipelines.postBatch(e)},renderCanvas:function(t,e,s,a){e.updateData(),s.addToRenderList(e);var h=t.currentContext;if(i(t,h,e,s,a)){for(var r,n=e._displayOriginX,o=e._displayOriginY,l=e.geom,u=0,d=l.length;u<d;u++)(r=l[u]).visible&&r.canvasRender(h,n,o);h.restore()}}},s=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];return t};const a=Phaser.GameObjects.Shape,h=Phaser.Utils.Array.Remove;class r extends a{constructor(t,i,e,s,a){void 0===i&&(i=0),void 0===e&&(e=0),void 0===s&&(s=2),void 0===a&&(a=s),super(t,"rexShapes",[]),this._width=-1,this._height=-1,this.dirty=!0,this.isSizeChanged=!0,this.shapes={},this.setPosition(i,e),this.setSize(s,a),this.updateDisplayOrigin()}get width(){return this._width}set width(t){this.setSize(t,this._height)}get height(){return this._height}set height(t){this.setSize(this._width,t)}setDirty(t){return void 0===t&&(t=!0),this.dirty=t,this}setSize(t,i){this.isSizeChanged=this.isSizeChanged||this._width!==t||this._height!==i,this.dirty=this.dirty||this.isSizeChanged,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}resize(t,i){return this.setSize(t,i),this}get fillColor(){return this._fillColor}set fillColor(t){this.setFillStyle(t,this._fillAlpha)}get fillAlpha(){return this._fillAlpha}set fillAlpha(t){this.setFillStyle(this._fillColor,t)}setFillStyle(t,i){return void 0===i&&(i=1),this.dirty=this.dirty||this.fillColor!==t||this.fillAlpha!==i,this._fillColor=t,this._fillAlpha=i,this}get lineWidth(){return this._lineWidth}set lineWidth(t){this.setStrokeStyle(t,this._strokeColor,this._strokeAlpha)}get strokeColor(){return this._strokeColor}set strokeColor(t){this.setStrokeStyle(this._lineWidth,t,this._strokeAlpha)}get strokeAlpha(){return this._strokeAlpha}set strokeAlpha(t){this.setStrokeStyle(this._lineWidth,this._strokeColor,t)}setStrokeStyle(t,i,e){return void 0===e&&(e=1),this.dirty=this.dirty||this.lineWidth!==t||this.strokeColor!==i||this.strokeAlpha!==e,this._lineWidth=t,this._strokeColor=i,this._strokeAlpha=e,this}updateShapes(){}updateData(){if(!this.dirty)return this;this.updateShapes();for(var t=this.geom,i=0,e=t.length;i<e;i++){var s=t[i];s.dirty&&s.updateData()}return this.isSizeChanged=!1,this.dirty=!1,this}clear(){return this.geom.length=0,s(this.shapes),this.dirty=!0,this}getShape(t){return this.shapes[t]}getShapes(){return this.geom}addShape(t){this.geom.push(t);var i=t.name;return i&&(this.shapes[i]=t),this.dirty=!0,this}deleteShape(t){var i=this.getShape(t);return i&&(delete this.shapes[t],h(this.geom,i)),this}}Object.assign(r.prototype,e);var n={fillStyle:function(t,i){return null==t?this.isFilled=!1:(void 0===i&&(i=1),this.isFilled=!0,this.fillColor=t,this.fillAlpha=i),this},lineStyle:function(t,i,e){return null==t||null==i?this.isStroked=!1:(void 0===e&&(e=1),this.isStroked=!0,this.lineWidth=t,this.strokeColor=i,this.strokeAlpha=e),this}},o={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){if(!t||"number"==typeof t)return e;if("string"==typeof i){if(t.hasOwnProperty(i))return t[i];if(-1===i.indexOf("."))return e;i=i.split(".")}for(var s=i,a=t,h=e,r=0;r<s.length;r++){if(i=s[r],!a.hasOwnProperty(i)){h=e;break}a=h=a[i]}return h}(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&&s(this.data),this}};class l{constructor(){this.name=void 0,this.dirty=!0,this.visible=!0,this.data=void 0,this.isFilled=!1,this.fillColor=void 0,this.fillAlpha=1,this.isStroked=!1,this.lineWidth=1,this.strokeColor=void 0,this.strokeAlpha=1}setName(t){return this.name=t,this}setVisible(t){return void 0===t&&(t=!0),this.visible=t,this}reset(){return this.setVisible().fillStyle().lineStyle(),this}webglRender(t,i,e,s,a){}canvasRender(t,i,e){}updateData(){this.dirty=!1}}Object.assign(l.prototype,n,o);var u=Phaser.Renderer.WebGL.Utils,d=Phaser.Renderer.WebGL.Utils;const p=Phaser.Geom.Polygon.Earcut;class c extends l{constructor(){super(),this.pathData=[],this.pathIndexes=[],this.closePath=!1}updateData(){return this.pathIndexes=p(this.pathData),super.updateData(),this}webglRender(t,i,e,s,a){this.isFilled&&function(t,i,e,s,a,h){for(var r=u.getTintAppendFloatAlpha(e.fillColor,e.fillAlpha*s),n=e.pathData,o=e.pathIndexes,l=0;l<o.length;l+=3){var d=2*o[l],p=2*o[l+1],c=2*o[l+2],v=n[d+0]-a,g=n[d+1]-h,f=n[p+0]-a,y=n[p+1]-h,P=n[c+0]-a,D=n[c+1]-h,b=i.getX(v,g),m=i.getY(v,g),S=i.getX(f,y),A=i.getY(f,y),T=i.getX(P,D),x=i.getY(P,D);t.batchTri(e,b,m,S,A,T,x,0,0,1,1,r,r,r,2)}}(t,i,this,e,s,a),this.isStroked&&function(t,i,e,s,a){var h=t.strokeTint,r=d.getTintAppendFloatAlpha(i.strokeColor,i.strokeAlpha*e);h.TL=r,h.TR=r,h.BL=r,h.BR=r;var n=i.pathData,o=n.length-1,l=i.lineWidth,u=l/2,p=n[0]-s,c=n[1]-a;i.closePath||(o-=2);for(var v=2;v<o;v+=2){var g=n[v]-s,f=n[v+1]-a;t.batchLine(p,c,g,f,u,u,l,v-2,!!i.closePath&&v===o-1),p=g,c=f}}(t,this,e,s,a)}canvasRender(t,i,e){var s=this.pathData,a=s.length-1,h=s[0]-i,r=s[1]-e;t.beginPath(),t.moveTo(h,r),this.closePath||(a-=2);for(var n=2;n<a;n+=2){var o=s[n]-i,l=s[n+1]-e;t.lineTo(o,l)}this.closePath&&t.closePath(),this.isFilled&&(function(t,i,e,s){var a=e||i.fillColor,h=s||i.fillAlpha,r=(16711680&a)>>>16,n=(65280&a)>>>8,o=255&a;t.fillStyle="rgba("+r+","+n+","+o+","+h+")"}(t,this),t.fill()),this.isStroked&&(function(t,i,e,s){var a=e||i.strokeColor,h=s||i.strokeAlpha,r=(16711680&a)>>>16,n=(65280&a)>>>8,o=255&a;t.strokeStyle="rgba("+r+","+n+","+o+","+h+")",t.lineWidth=i.lineWidth}(t,this),t.stroke())}}var v=function(t,i,e){var s=e.length;if(s>=2){var a=e[s-2],h=e[s-1];if(t===a&&i===h)return e}return e.push(t,i),e};const g=Phaser.Math.DegToRad;Phaser.Math.DegToRad;const f=Phaser.Math.Interpolation.QuadraticBezier,y=Phaser.Math.Interpolation.CubicBezier,P=Phaser.Math.Interpolation.CatmullRom;var D=function(t){var i=t.length;if(i<2)return t;var e=t[i-2],s=t[i-1];return t.push(e),t.push(s),t},b={clear(){return this.start(),this},start(){return this.startAt(),this},startAt(t,i){return this.restorePathData(),this.accumulationLengths=void 0,function(t,i,e){e.length=0,null!=t&&e.push(t,i)}(t,i,this.pathData),this.firstPointX=t,this.firstPointY=i,this.lastPointX=t,this.lastPointY=i,this},lineTo(t,i,e){return void 0===e&&(e=!1),e&&(t+=this.lastPointX,i+=this.lastPointY),v(t,i,this.pathData),this.lastPointX=t,this.lastPointY=i,this},verticalLineTo(t,i){return this.lineTo(t,this.lastPointY,i),this},horizontalLineTo(t,i){return this.lineTo(this.lastPointX,t,i),this},ellipticalArc(t,i,e,s,a,h,r){return void 0===r&&(r=!1),function(t,i,e,s,a,h,r,n,o){r&&h>a?h-=360:!r&&h<a&&(h+=360);var l=g(h-a)/n;a=g(a);for(var u=0;u<=n;u++){var d=a+l*u,p=t+e*Math.cos(d),c=i+s*Math.sin(d);v(p,c,o)}}(t,i,e,s,a,h,r,this.iterations,this.pathData),this.lastPointX=this.pathData[this.pathData.length-2],this.lastPointY=this.pathData[this.pathData.length-1],this},arc(t,i,e,s,a,h){return this.ellipticalArc(t,i,e,e,s,a,h),this},quadraticBezierTo(t,i,e,s){return function(t,i,e,s,a,h){for(var r=h.length,n=h[r-2],o=h[r-1],l=1,u=a-1;l<=u;l++){var d=l/u;h.push(f(d,n,t,e),f(d,o,i,s))}}(t,i,e,s,this.iterations,this.pathData),this.lastPointX=e,this.lastPointY=s,this},cubicBezierTo(t,i,e,s,a,h){return function(t,i,e,s,a,h,r,n){for(var o=n.length,l=n[o-2],u=n[o-1],d=1,p=r-1;d<=p;d++){var c=d/p;n.push(y(c,l,t,e,a),y(c,u,i,s,h))}}(t,i,e,s,a,h,this.iterations,this.pathData),this.lastPointX=a,this.lastPointY=h,this},catmullRomTo(...t){return function(t,i,e){for(var s=e.length,a=[e[s-2]],h=[e[s-1]],r=0,n=t.length;r<n;r+=2)a.push(t[r]),h.push(t[r+1]);r=1;for(var o=i-1;r<=o;r++){var l=r/o;e.push(P(a,l),P(h,l))}}(t,this.iterations,this.pathData),this.lastPointX=t[t.length-2],this.lastPointY=t[t.length-1],this},close(){var t=this.pathData[0],i=this.pathData[1];return t===this.lastPointX&&i===this.lastPointY||this.lineTo(t,i),this.closePath=!0,this},end(){return D(this.pathData),this}};const m=Phaser.Math.RotateAround,S=Phaser.Math.DegToRad;Phaser.Math.RotateAround;var A={rotateAround(t,i,e){if(0===this.pathData.length)return this;!function(t,i,e,s){for(var a={x:0,y:0},h=0,r=s.length-1;h<r;h+=2)a.x=s[h],a.y=s[h+1],m(a,t,i,e),s[h]=a.x,s[h+1]=a.y}(t,i,e=S(e),this.pathData);var s=this.pathData.length;return this.lastPointX=this.pathData[s-2],this.lastPointY=this.pathData[s-1],this},scale(t,i,e,s){return 0===this.pathData.length||(function(t,i,e,s,a){for(var h=0,r=a.length-1;h<r;h+=2){var n=a[h]-t,o=a[h+1]-i;n*=e,o*=s,a[h]=n+t,a[h+1]=o+i}}(t,i,e,s,this.pathData),this.lastPointX=this.pathData[pathDataCnt-2],this.lastPointY=this.pathData[pathDataCnt-1]),this},offset(t,i){return function(t,i,e){for(var s=0,a=e.length-1;s<a;s+=2)e[s]+=t,e[s+1]+=i}(t,i,this.pathData),this}},T={savePathData(){return this.pathDataSaved||(this.pathDataSave=[...this.pathData],this.pathData.length=0,this.pathDataSaved=!0),this},restorePathData(){return this.pathDataSaved?(function(t,i,e,s){void 0===e&&(e=0),void 0===s&&(s=i.length),t.length=s-e;for(var a=0,h=t.length;a<h;a++)t[a]=i[a+e]}(this.pathData,this.pathDataSave),this.pathDataSave=void 0,this.pathDataSaved=!1,this):this}};const x=Phaser.Math.Distance.Between,k=Phaser.Math.Wrap,C=Phaser.Math.Linear;var L=function(t,i,e,s,a){if(void 0===s&&(s=e,e=0),(e=_(e))!==(s=_(s))){var h=i[i.length-1],r=h*e,n=h*s;e<s?R(t,i,r,n,a):(R(t,i,r,h,a),R(t,i,0,n,a)),D(a)}},R=function(t,i,e,s,a){for(var h=e>0,r=0,n=i.length;r<n;r++){var o=2*r,l=i[r];if(h){if(l<e)continue;if(l==e)h=!1;else{var u=1-(l-e)/(l-i[r-1]);a.push(w(t,o-2,o,u)),a.push(w(t,o-1,o+1,u)),h=!1}}if(!(l<=s)){u=1-(l-s)/(l-i[r-1]),a.push(w(t,o-2,o,u)),a.push(w(t,o-1,o+1,u));break}if(a.push(t[o]),a.push(t[o+1]),l===s)break}},w=function(t,i,e,s){var a=t[i],h=t[e];return C(a,h,s)},_=function(t){return 0===t?0:t%1==0?1:k(t,0,1)},z={updateAccumulationLengths(){if(null==this.accumulationLengths)this.accumulationLengths=[];else if(this.accumulationLengths.length===this.pathData.length/2)return this;for(var t,i,e,s,a=this.accumulationLengths,h=this.pathData,r=0,n=0,o=h.length;n<o;n+=2)e=h[n],s=h[n+1],r+=void 0===t?0:x(t,i,e,s),a.push(r),t=e,i=s;return this.totalPathLength=r,this},setDisplayPathSegment(t,i){return this.pathDataSaved||(this.updateAccumulationLengths(),this.savePathData()),this.pathData.length=0,L(this.pathDataSave,this.accumulationLengths,t,i,this.pathData),this},appendFromPathSegment(t,i,e){return void 0===i?this.pathData.push(...t.pathData):(t.updateAccumulationLengths(),L(t.pathData,t.accumulationLengths,i,e,this.pathData)),this.firstPointX=this.pathData[0],this.firstPointY=this.pathData[1],this.lastPointX=this.pathData[this.pathData.length-2],this.lastPointY=this.pathData[this.pathData.length-1],this}},O={draw(t,i,e){var s=this.toPoints();return i&&t.fillPoints(s,this.closePath,this.closePath),e&&t.strokePoints(s,this.closePath,this.closePath),this}};const G=Phaser.Geom.Polygon;class X{constructor(t){void 0===t&&(t=[]),this.pathData=t,this.closePath=!1,this.setIterations(32),this.firstPointX=void 0,this.firstPointY=void 0,this.lastPointX=void 0,this.lastPointY=void 0,this.accumulationLengths=void 0}setIterations(t){return this.iterations=t,this}toPoints(){return function(t,i){void 0===i&&(i=[]);for(var e=0,s=t.length-1;e<s;e+=2)i.push({x:t[e],y:t[e+1]});return i}(this.pathData)}toPolygon(t){return function(t,i){return void 0===i&&(i=new G),i.setTo(t),i}(this.pathData,t)}}Object.assign(X.prototype,b,A,T,z,O);class Y extends c{constructor(){super(),this.builder=new X(this.pathData)}get iterations(){return this.builder.iterations}set iterations(t){this.dirty=this.dirty||this.builder.iterations!==t,this.builder.setIterations(t)}setIterations(t){return this.iterations=t,this}get lastPointX(){return this.builder.lastPointX}get lastPointY(){return this.builder.lastPointY}start(){return this.builder.start(),this.dirty=!0,this}startAt(t,i){return this.builder.startAt(t,i),this.dirty=!0,this}lineTo(t,i,e){return this.builder.lineTo(t,i,e),this.dirty=!0,this}verticalLineTo(t,i){return this.builder.verticalLineTo(t,i),this.dirty=!0,this}horizontalLineTo(t,i){return this.builder.horizontalLineTo(t,i),this.dirty=!0,this}ellipticalArc(t,i,e,s,a,h,r){return this.builder.ellipticalArc(t,i,e,s,a,h,r),this.dirty=!0,this}arc(t,i,e,s,a,h){return this.builder.arc(t,i,e,s,a,h),this.dirty=!0,this}quadraticBezierTo(t,i,e,s){return this.builder.quadraticBezierTo(t,i,e,s),this.dirty=!0,this}cubicBezierTo(t,i,e,s,a,h){return this.builder.cubicBezierTo(t,i,e,s,a,h),this.dirty=!0,this}catmullRomTo(...t){return this.builder.catmullRomTo(...t),this.dirty=!0,this}close(){return this.builder.close(),this.closePath=this.builder.closePath,this.dirty=!0,this}end(){return this.builder.end(),this.dirty=!0,this}rotateAround(t,i,e){return this.builder.rotateAround(t,i,e),this.dirty=!0,this}scale(t,i,e,s){return this.builder.scale(t,i,e,s),this.dirty=!0,this}offset(t,i){return this.builder.offset(t,i),this.dirty=!0,this}toPolygon(t){return this.builder.toPolygon(t)}appendPathFrom(t,i,e){return this.builder.appendFromPathSegment(t.builder,i,e),this}copyPathFrom(t,i,e){return this.builder.clear().appendFromPathSegment(t.builder,i,e),this}setDisplayPathSegment(t,i){return this.builder.setDisplayPathSegment(t,i),this}}Phaser.Renderer.WebGL.Utils.getTintAppendFloatAlpha,Phaser.Utils.Objects.GetValue,Phaser.Renderer.WebGL.Utils.getTintAppendFloatAlpha;var j=function(t){var i=this.points,e=i[0],s=e.x,a=e.y,h=i[1],r=h.x-s,n=h.y-a,o=i[2],l=o.x-s,u=o.y-a;t.startAt(0,0).quadraticBezierTo(r,n,l,u).end()},W=function(t){var i=this.points,e=i[0],s=e.x,a=e.y,h=i[1],r=h.x-s,n=h.y-a,o=i[2],l=o.x-s,u=o.y-a,d=i[3],p=d.x-s,c=d.y-a;t.startAt(0,0).cubicBezierTo(r,n,l,u,p,c).end()},M=function(t){for(var i=this.points,e=i[0],s=e.x,a=e.y,h=[],r=1,n=i.length;r<n;r++){var o=i[r];h.push(o.x-s),h.push(o.y-a)}t.startAt(0,0).catmullRomTo(...h).end()},F=function(t){var i=this.points,e=i[0],s=e.x,a=e.y,h=i[i.length-1],r=h.x-s,n=h.y-a;t.startAt(0,0).lineTo(r,n).end()},B=function(t){var i=this.points,e=i[0],s=e.x,a=e.y;t.startAt(0,0);for(var h=1,r=i.length;h<r;h++){var n=i[h],o=n.x-s,l=n.y-a;t.lineTo(o,l)}t.end()};const I=Phaser.Geom.Rectangle;var U=function(t,i){void 0===i?i=new I:!0===i&&(i=V);for(var e=1/0,s=1/0,a=-e,h=-s,r=0,n=t.length;r<n;r+=2){var o=t[r],l=t[r+1];e=Math.min(e,o),s=Math.min(s,l),a=Math.max(a,o),h=Math.max(h,l)}return i.x=e,i.y=s,i.width=a-e,i.height=h-s,i},V=new I,q=function(t,i){i=this.bounds;var e=this.pointRadius,s=i.x-e,a=i.y-e,h=i.width+2*e,r=i.height+2*e;this.setSize(h,r),this.setOrigin(-s/h,-a/r);var n=this.points[0];this.setPosition(n.x,n.y),t.offset(-s,-a)},E={buildShapes(){this.addShape(new Y)},updateShapes(){var t=this.getShapes()[0].lineStyle(this.lineWidth,this.strokeColor,this.strokeAlpha),i=this.points.length;t.setVisible(i>=2),i<=1||(3===this.lineType||2==i?F.call(this,t):0===this.lineType&&3===i?j.call(this,t):0===this.lineType&&4===i?W.call(this,t):2===this.lineType?B.call(this,t):M.call(this,t),this.bounds=U.call(this,t.pathData,!0),q.call(this,t))}};const H=Phaser.Geom.Intersects.LineToCircle,N=new Phaser.Geom.Line,Q=Phaser.Geom.Rectangle,J=Phaser.Geom.Rectangle.Contains,K=Phaser.GameObjects.GameObject.prototype.setInteractive,Z=new Phaser.Geom.Circle;var $=function(t,i,e,s){return!!J(t,i,e)&&(Z.setTo(i,e,s.pointRadius),function(t,i){N.x1=t[0],N.y1=t[1];for(var e=2,s=t.length;e<s;e+=2){if(N.x2=t[e],N.y2=t[e+1],H(N,i))return!0;N.x1=N.x2,N.y1=N.y2}return!1}(s.getShapes()[0].pathData,Z))},tt={setPointRadius(t){return this.pointRadius=t,this},setInteractive(t){return void 0===t&&(t={}),t.hitArea=new Q(0,0,this.width,this.height),t.hitAreaCallback=$,K.call(this,t),this}},it={};Object.assign(it,E,tt);class et extends r{constructor(t,i,e,s,a,h){var r;if(void 0!==i)if("number"==typeof i)h=a,a=s,s=e,e=i,i=[];else if(!Array.isArray(i)){var n=i;i=n.points,e=n.lineWidth,s=n.color,a=n.alpha,h=n.lineType,r=n.pointRadius}void 0===i&&(i=[]),void 0===e&&(e=2),void 0===s&&(s=16777215),void 0===a&&(a=1),void 0===h&&(h=0),void 0===r&&(r=10),super(t),this.type="rexPath",this.padding={},this.bounds=void 0,this.setPointRadius(r),this.setLine(i,h),this.setStrokeStyle(e,s,a),this.buildShapes(),this.updateData()}setLine(t,i){return void 0===t&&(t=[]),void 0!==i&&("string"==typeof i&&(i=st[i.toLocaleLowerCase()]),this.lineType=i),this.points=t,this.dirty=!0,this.geom.length>0&&this.updateData(),this}setLineType(t){return"string"==typeof t&&(t=st[t.toLocaleLowerCase()]),this.lineType===t||(this.lineType=t,this.dirty=!0,this.geom.length>0&&this.updateData()),this}}const st={bezier:0,spline:1,polyline:2,poly:2,straightline:3,straight:3};function at(t,i,e,s,a){var h=new et(this.scene,t,i,e,s,a);return this.scene.add.existing(h),h}Object.assign(et.prototype,it);const ht=Phaser.Utils.Objects.GetAdvancedValue,rt=Phaser.Utils.Objects.GetValue,nt=Phaser.GameObjects.BuildGameObject;function ot(t,i){void 0===t&&(t={}),void 0!==i&&(t.add=i);var e=rt(t,"points",void 0),s=ht(t,"lineWidth",2),a=ht(t,"color",16777215),h=ht(t,"alpha",1),r=ht(t,"lineType",0),n=new et(this.scene,e,s,a,h,r);return nt(this.scene,n,t),n}var lt=function(t){return null==t||""===t||0===t.length};class ut extends Phaser.Plugins.BasePlugin{constructor(t){super(t),t.registerGameObject("rexLineShape",at,ot)}start(){this.game.events.on("destroy",this.destroy,this)}}return function(t,i,e,s){if(void 0===s&&(s="."),"object"==typeof t)if(lt(i)){if(null==e)return;"object"==typeof e&&(t=e)}else{"string"==typeof i&&(i=i.split(s));var a=i.pop(),h=function(t,i,e){var s=t;if(lt(i));else{var a;"string"==typeof i&&(i=i.split("."));for(var h=0,r=i.length;h<r;h++){var n;null!=s[a=i[h]]&&"object"==typeof s[a]||(n=h===r-1?void 0===e?{}:e:{},s[a]=n),s=s[a]}}return s}(t,i);h[a]=e}}(window,"RexPlugins.GameObjects.LineShape",et),ut},"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(t="undefined"!=typeof globalThis?globalThis:t||self).rexlineshapeplugin=i();