phaser3-rex-plugins
Version:
2 lines (1 loc) • 47.3 kB
JavaScript
!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(t="undefined"!=typeof globalThis?globalThis:t||self).rexcustomprogress=i();}(undefined,(function(){function t(i){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(i)}function i(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function e(t,i){for(var e=0;e<i.length;e++){var s=i[e];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,(n=s.key,r=void 0,"symbol"==typeof(r=function(t,i){if("object"!=typeof t||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var s=e.call(t,i||"default");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return ("string"===i?String:Number)(t)}(n,"string"))?r:String(r)),s);}var n,r;}function s(t,i,s){return i&&e(t.prototype,i),s&&e(t,s),Object.defineProperty(t,"prototype",{writable:!1}),t}function n(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&h(t,i);}function r(t){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},r(t)}function h(t,i){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,i){return t.__proto__=i,t},h(t,i)}function a(t,i){if(i&&("object"==typeof i||"function"==typeof i))return i;if(void 0!==i)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function o(t){var i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return !1;if(Reflect.construct.sham)return !1;if("function"==typeof Proxy)return !0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return !1}}();return function(){var e,s=r(t);if(i){var n=r(this).constructor;e=Reflect.construct(s,arguments,n);}else e=s.apply(this,arguments);return a(this,e)}}function u(){return u="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,i,e){var s=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=r(t)););return t}(t,i);if(s){var n=Object.getOwnPropertyDescriptor(s,i);return n.get?n.get.call(arguments.length<3?t:e):n.value}},u.apply(this,arguments)}function l(t){return function(t){if(Array.isArray(t))return c(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,i){if(!t)return;if("string"==typeof t)return c(t,i);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return c(t,i)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(t,i){(null==i||i>t.length)&&(i=t.length);for(var e=0,s=new Array(i);e<i;e++)s[e]=t[e];return s}var f=Phaser.GameObjects.GetCalcMatrix,d=Phaser.Renderer.Canvas.SetTransform,y={renderWebGL:function(t,i,e,s){i.updateData(),e.addToRenderList(i);var n=t.pipelines.set(i.pipeline),r=f(i,e,s),h=n.calcMatrix.copyFrom(r.calc),a=i._displayOriginX,o=i._displayOriginY,u=e.alpha*i.alpha;t.pipelines.preBatch(i);for(var l=i.geom,c=0,d=l.length;c<d;c++)l[c].webglRender(n,h,u,a,o);t.pipelines.postBatch(i);},renderCanvas:function(t,i,e,s){i.updateData(),e.addToRenderList(i);var n=t.currentContext;if(d(t,n,i,e,s)){for(var r=i._displayOriginX,h=i._displayOriginY,a=i.geom,o=0,u=a.length;o<u;o++)a[o].canvasRender(n,r,h);n.restore();}}},p=function(i){if("object"!==t(i)||null===i)return i;if(Array.isArray(i))i.length=0;else for(var e in i)delete i[e];return i},v=Phaser.GameObjects.Shape,g=Phaser.Utils.Array.Remove,k=function(t){n(r,t);var e=o(r);function r(t,s,n,h,a){var o;return i(this,r),void 0===s&&(s=0),void 0===n&&(n=0),void 0===h&&(h=2),void 0===a&&(a=h),(o=e.call(this,t,"rexShapes",[]))._width=-1,o._height=-1,o.dirty=!0,o.isSizeChanged=!0,o.shapes={},o.setPosition(s,n),o.setSize(h,a),o.updateDisplayOrigin(),o}return s(r,[{key:"width",get:function(){return this._width},set:function(t){this.setSize(t,this._height);}},{key:"height",get:function(){return this._height},set:function(t){this.setSize(this._width,t);}},{key:"setDirty",value:function(t){return void 0===t&&(t=!0),this.dirty=t,this}},{key:"setSize",value:function(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}},{key:"resize",value:function(t,i){return this.setSize(t,i),this}},{key:"fillColor",get:function(){return this._fillColor},set:function(t){this.setFillStyle(t,this._fillAlpha);}},{key:"fillAlpha",get:function(){return this._fillAlpha},set:function(t){this.setFillStyle(this._fillColor,t);}},{key:"setFillStyle",value:function(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}},{key:"lineWidth",get:function(){return this._lineWidth},set:function(t){this.setStrokeStyle(t,this._strokeColor,this._strokeAlpha);}},{key:"strokeColor",get:function(){return this._strokeColor},set:function(t){this.setStrokeStyle(this._lineWidth,t,this._strokeAlpha);}},{key:"strokeAlpha",get:function(){return this._strokeAlpha},set:function(t){this.setStrokeStyle(this._lineWidth,this._strokeColor,t);}},{key:"setStrokeStyle",value:function(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}},{key:"updateShapes",value:function(){}},{key:"updateData",value:function(){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}},{key:"clear",value:function(){return this.geom.length=0,p(this.shapes),this}},{key:"getShape",value:function(t){return this.shapes[t]}},{key:"getShapes",value:function(){return this.geom}},{key:"addShape",value:function(t){this.geom.push(t);var i=t.name;return i&&(this.shapes[i]=t),this.dirty=!0,this}},{key:"deleteShape",value:function(t){var i=this.getShape(t);return i&&(delete this.shapes[t],g(this.geom,i)),this}}]),r}(v);Object.assign(k.prototype,y);var m={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}},_={enableData:function(){return void 0===this.data&&(this.data={}),this},setData:function(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:function(t,i){return this.enableData(),void 0===t?this.data:function(t,i,e){if(t&&"number"!=typeof t){if(t.hasOwnProperty(i))return t[i];if(-1!==i.indexOf(".")){for(var s=i.split("."),n=t,r=e,h=0;h<s.length;h++){if(!n.hasOwnProperty(s[h])){r=e;break}r=n[s[h]],n=n[s[h]];}return r}return e}return e}(this.data,t,i)},incData:function(t,i,e){return void 0===e&&(e=0),this.enableData(),this.setData(t,this.getData(t,e)+i),this},mulData:function(t,i,e){return void 0===e&&(e=0),this.enableData(),this.setData(t,this.getData(t,e)*i),this},clearData:function(){return this.data&&p(this.data),this}},P=function(){function t(){i(this,t),this.name=void 0,this.dirty=!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;}return s(t,[{key:"setName",value:function(t){return this.name=t,this}},{key:"reset",value:function(){return this.fillStyle().lineStyle(),this}},{key:"webglRender",value:function(t,i,e,s,n){}},{key:"canvasRender",value:function(t,i,e){}},{key:"updateData",value:function(){this.dirty=!1;}}]),t}();Object.assign(P.prototype,m,_);var b=Phaser.Renderer.WebGL.Utils,D=Phaser.Renderer.WebGL.Utils,T=function(t,i,e,s,n){var r=t.strokeTint,h=D.getTintAppendFloatAlpha(i.strokeColor,i.strokeAlpha*e);r.TL=h,r.TR=h,r.BL=h,r.BR=h;var a=i.pathData,o=a.length-1,u=i.lineWidth,l=u/2,c=a[0]-s,f=a[1]-n;i.closePath||(o-=2);for(var d=2;d<o;d+=2){var y=a[d]-s,p=a[d+1]-n;t.batchLine(c,f,y,p,l,l,u,d-2,!!i.closePath&&d===o-1),c=y,f=p;}},S=function(t,i,e,s){var n=e||i.fillColor,r=s||i.fillAlpha,h=(16711680&n)>>>16,a=(65280&n)>>>8,o=255&n;t.fillStyle="rgba("+h+","+a+","+o+","+r+")";},w=function(t,i,e,s){var n=e||i.strokeColor,r=s||i.strokeAlpha,h=(16711680&n)>>>16,a=(65280&n)>>>8,o=255&n;t.strokeStyle="rgba("+h+","+a+","+o+","+r+")",t.lineWidth=i.lineWidth;},x=Phaser.Geom.Polygon.Earcut,R=function(t){n(h,t);var e=o(h);function h(){var t;return i(this,h),(t=e.call(this)).pathData=[],t.pathIndexes=[],t.closePath=!1,t}return s(h,[{key:"updateData",value:function(){return this.pathIndexes=x(this.pathData),u(r(h.prototype),"updateData",this).call(this),this}},{key:"webglRender",value:function(t,i,e,s,n){this.isFilled&&function(t,i,e,s,n,r){for(var h=b.getTintAppendFloatAlpha(e.fillColor,e.fillAlpha*s),a=e.pathData,o=e.pathIndexes,u=0;u<o.length;u+=3){var l=2*o[u],c=2*o[u+1],f=2*o[u+2],d=a[l+0]-n,y=a[l+1]-r,p=a[c+0]-n,v=a[c+1]-r,g=a[f+0]-n,k=a[f+1]-r,m=i.getX(d,y),_=i.getY(d,y),P=i.getX(p,v),D=i.getY(p,v),T=i.getX(g,k),S=i.getY(g,k);t.batchTri(e,m,_,P,D,T,S,0,0,1,1,h,h,h,2);}}(t,i,this,e,s,n),this.isStroked&&T(t,this,e,s,n);}},{key:"canvasRender",value:function(t,i,e){var s=this.pathData,n=s.length-1,r=s[0]-i,h=s[1]-e;t.beginPath(),t.moveTo(r,h),this.closePath||(n-=2);for(var a=2;a<n;a+=2){var o=s[a]-i,u=s[a+1]-e;t.lineTo(o,u);}this.closePath&&t.closePath(),this.isFilled&&(S(t,this),t.fill()),this.isStroked&&(w(t,this),t.stroke());}}]),h}(P),C=function(t,i,e){var s=e.length;if(s>=2){var n=e[s-2],r=e[s-1];if(t===n&&i===r)return e}return e.push(t,i),e},E=Phaser.Math.DegToRad,A=function(t,i,e,s,n,r,h,a,o){h&&r>n?r-=360:!h&&r<n&&(r+=360);var u=E(r-n)/a;n=E(n);for(var l=0;l<=a;l++){var c=n+u*l,f=t+e*Math.cos(c),d=i+s*Math.sin(c);C(f,d,o);}return o},O=Phaser.Math.DegToRad,L=function(t){n(h,t);var e=o(h);function h(t,s,n,r,a,o,u,l){var c;return i(this,h),void 0===t&&(t=0),void 0===s&&(s=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===a&&(a=0),void 0===o&&(o=360),void 0===u&&(u=!1),void 0===l&&(l=!1),(c=e.call(this)).setCenterPosition(t,s),c.setRadius(n,r),c.setAngle(a,o,u),c.setPie(l),c.setIterations(32),c}return s(h,[{key:"x",get:function(){return this._x},set:function(t){this.dirty=this.dirty||this._x!==t,this._x=t;}},{key:"y",get:function(){return this._y},set:function(t){this.dirty=this.dirty||this._y!==t,this._y=t;}},{key:"setCenterPosition",value:function(t,i){return void 0===i&&(i=t),this.x=t,this.y=i,this}},{key:"radiusX",get:function(){return this._radiusX},set:function(t){this.dirty=this.dirty||this._radiusX!==t,this._radiusX=t;}},{key:"radiusY",get:function(){return this._radiusY},set:function(t){this.dirty=this.dirty||this._radiusY!==t,this._radiusY=t;}},{key:"setRadius",value:function(t,i){return void 0===i&&(i=t),this.radiusX=t,this.radiusY=i,this}},{key:"startAngle",get:function(){return this._startAngle},set:function(t){this.dirty=this.dirty||this._startAngle!==t,this._startAngle=t;}},{key:"endAngle",get:function(){return this._endAngle},set:function(t){this.dirty=this.dirty||this._endAngle!==t,this._endAngle=t;}},{key:"anticlockwise",get:function(){return this._anticlockwise},set:function(t){this.dirty=this.dirty||this._anticlockwise!==t,this._anticlockwise=t;}},{key:"setAngle",value:function(t,i,e){return void 0===e&&(e=!1),this.startAngle=t,this.endAngle=i,this.anticlockwise=e,this}},{key:"pie",get:function(){return this._pie},set:function(t){this.dirty=this.dirty||this._pie!==t,this._pie=t;}},{key:"setPie",value:function(t){return void 0===t&&(t=!0),this.pie=t,this}},{key:"iterations",get:function(){return this._iterations},set:function(t){this.dirty=this.dirty||this._iterations!==t,this._iterations=t;}},{key:"setIterations",value:function(t){return this.iterations=t,this}},{key:"updateData",value:function(){return this.pathData.length=0,this.pie&&this.pathData.push(this.x,this.y),A(this.x,this.y,this.radiusX,this.radiusY,this.startAngle,this.endAngle,this.anticlockwise,this.iterations,this.pathData),this.pie&&this.pathData.push(this.x,this.y),this.pathData.push(this.pathData[0],this.pathData[1]),u(r(h.prototype),"updateData",this).call(this),this}},{key:"canvasRender",value:function(t,i,e){t.beginPath();var s=this.x-i,n=this.y-e,r=O(this.startAngle),h=O(this.endAngle);this.pie&&(t.moveTo(s,n),t.lineTo(s+Math.cos(r)*this.radiusX,n+Math.sin(r)*this.radiusY)),t.ellipse(s,n,this.radiusX,this.radiusY,0,r,h,this.anticlockwise),this.pie&&t.lineTo(s,n),this.isFilled&&(S(t,this),t.fill()),this.isStroked&&(w(t,this),t.stroke());}}]),h}(R),j=function(t){n(r,t);var e=o(r);function r(t,s,n){return i(this,r),e.call(this,t,s,n,n,0,360)}return s(r)}(L),X=function(t){n(h,t);var e=o(h);function h(t){var s;return i(this,h),(s=e.call(this)).setCurve(t),s.setIterations(32),s}return s(h,[{key:"curve",get:function(){return this._curve},set:function(t){this.dirty=this.dirty||this._curve!==t,this._curve=t;}},{key:"setCurve",value:function(t){return this.curve=t,this}},{key:"iterations",get:function(){return this._iterations},set:function(t){this.dirty=this.dirty||this._iterations!==t,this._iterations=t;}},{key:"setIterations",value:function(t){return this.iterations=t,this}},{key:"updateData",value:function(){this.pathData.length=0;for(var t=this.curve.getPoints(this.iterations),i=0,e=t.length;i<e;i++)this.pathData.push(t[i].x,t[i].y);return this.pathData.push(t[0].x,t[0].y),u(r(h.prototype),"updateData",this).call(this),this}}]),h}(R),Y=function(t){n(r,t);var e=o(r);function r(t,s,n,h){return i(this,r),e.call(this,t,s,n,h,0,360)}return s(r)}(L),B=function(t){n(h,t);var e=o(h);function h(t,s,n,r){var a;return i(this,h),void 0===t&&(t=0),void 0===s&&(s=0),void 0===n&&(n=0),void 0===r&&(r=0),(a=e.call(this)).setP0(t,s),a.setP1(n,r),a}return s(h,[{key:"x0",get:function(){return this._x0},set:function(t){this.dirty=this.dirty||this._x0!==t,this._x0=t;}},{key:"y0",get:function(){return this._y0},set:function(t){this.dirty=this.dirty||this._y0!==t,this._y0=t;}},{key:"setP0",value:function(t,i){return this.x0=t,this.y0=i,this}},{key:"x1",get:function(){return this._x1},set:function(t){this.dirty=this.dirty||this._x1!==t,this._x1=t;}},{key:"y1",get:function(){return this._y1},set:function(t){this.dirty=this.dirty||this._y1!==t,this._y1=t;}},{key:"setP1",value:function(t,i){return this.x1=t,this.y1=i,this}},{key:"updateData",value:function(){return this.pathData.length=0,this.pathData.push(this.x0,this.y0),this.pathData.push(this.x1,this.y1),this.pathData.push(this.x0,this.y0),u(r(h.prototype),"updateData",this).call(this),this}}]),h}(R),V=Phaser.Math.Interpolation.QuadraticBezier,F=Phaser.Math.Interpolation.CubicBezier,M=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},z={clear:function(){return this.start(),this},start:function(){return this.startAt(),this},startAt:function(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:function(t,i,e){return void 0===e&&(e=!1),e&&(t+=this.lastPointX,i+=this.lastPointY),C(t,i,this.pathData),this.lastPointX=t,this.lastPointY=i,this},verticalLineTo:function(t,i){return this.lineTo(t,this.lastPointY,i),this},horizontalLineTo:function(t,i){return this.lineTo(this.lastPointX,t,i),this},ellipticalArc:function(t,i,e,s,n,r,h){return void 0===h&&(h=!1),A(t,i,e,s,n,r,h,this.iterations,this.pathData),this.lastPointX=this.pathData[this.pathData.length-2],this.lastPointY=this.pathData[this.pathData.length-1],this},arc:function(t,i,e,s,n,r){return this.ellipticalArc(t,i,e,e,s,n,r),this},quadraticBezierTo:function(t,i,e,s){return function(t,i,e,s,n,r){for(var h=r.length,a=r[h-2],o=r[h-1],u=1,l=n-1;u<=l;u++){var c=u/l;r.push(V(c,a,t,e),V(c,o,i,s));}}(t,i,e,s,this.iterations,this.pathData),this.lastPointX=e,this.lastPointY=s,this.lastCX=t,this.lastCY=i,this},smoothQuadraticBezierTo:function(t,i){var e=2*this.lastPointX-this.lastCX,s=2*this.lastPointY-this.lastCY;return this.quadraticBezierTo(e,s,t,i),this},cubicBezierCurveTo:function(t,i,e,s,n,r){return function(t,i,e,s,n,r,h,a){for(var o=a.length,u=a[o-2],l=a[o-1],c=1,f=h-1;c<=f;c++){var d=c/f;a.push(F(d,u,t,e,n),F(d,l,i,s,r));}}(t,i,e,s,n,r,this.iterations,this.pathData),this.lastPointX=n,this.lastPointY=r,this.lastCX=e,this.lastCY=s,this},smoothCubicBezierCurveTo:function(t,i,e,s){var n=2*this.lastPointX-this.lastCX,r=2*this.lastPointY-this.lastCY;return this.cubicBezierCurveTo(n,r,t,i,e,s),this},close:function(){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:function(){return M(this.pathData),this}},G=Phaser.Math.RotateAround,I=function(t,i,e){for(var s=0,n=e.length-1;s<n;s+=2)e[s]+=t,e[s+1]+=i;return e},N=Phaser.Math.DegToRad,U=Phaser.Math.RotateAround,W={rotateAround:function(t,i,e){if(0===this.pathData.length)return this;!function(t,i,e,s){for(var n={x:0,y:0},r=0,h=s.length-1;r<h;r+=2)n.x=s[r],n.y=s[r+1],G(n,t,i,e),s[r]=n.x,s[r+1]=n.y;}(t,i,e=N(e),this.pathData);var s=this.pathData.length;if(this.lastPointX=this.pathData[s-2],this.lastPointY=this.pathData[s-1],void 0!==this.lastCX){var n={x:this.lastCX,y:this.lastCY};U(n,t,i,e),this.lastCX=n.x,this.lastCY=n.y;}return this},scale:function(t,i,e,s){if(0===this.pathData.length)return this;if(function(t,i,e,s,n){for(var r=0,h=n.length-1;r<h;r+=2){var a=n[r]-t,o=n[r+1]-i;a*=e,o*=s,n[r]=a+t,n[r+1]=o+i;}}(t,i,e,s,this.pathData),this.lastPointX=this.pathData[pathDataCnt-2],this.lastPointY=this.pathData[pathDataCnt-1],void 0!==this.lastCX){var n=this.lastCX-t,r=this.lastCY-i;n*=e,r*=s,this.lastCX=n+t,this.lastCY=r+i;}return this},offset:function(t,i){return I(t,i,this.pathData),this}},J={savePathData:function(){return this.pathDataSaved||(this.pathDataSave=l(this.pathData),this.pathData.length=0,this.pathDataSaved=!0),this},restorePathData:function(){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 n=0,r=t.length;n<r;n++)t[n]=i[n+e];}(this.pathData,this.pathDataSave),this.pathDataSave=void 0,this.pathDataSaved=!1,this):this}},q=Phaser.Math.Distance.Between,K=Phaser.Math.Wrap,Q=Phaser.Math.Linear,H=function(t,i,e,s,n){if(void 0===s&&(s=e,e=0),(e=tt(e))!==(s=tt(s))){var r=i[i.length-1],h=r*e,a=r*s;e<s?$(t,i,h,a,n):($(t,i,h,r,n),$(t,i,0,a,n)),M(n);}},$=function(t,i,e,s,n){for(var r=e>0,h=0,a=i.length;h<a;h++){var o=2*h,u=i[h];if(r){if(u<e)continue;if(u==e)r=!1;else {var l=1-(u-e)/(u-i[h-1]);n.push(Z(t,o-2,o,l)),n.push(Z(t,o-1,o+1,l)),r=!1;}}if(!(u<=s)){l=1-(u-s)/(u-i[h-1]);n.push(Z(t,o-2,o,l)),n.push(Z(t,o-1,o+1,l));break}if(n.push(t[o]),n.push(t[o+1]),u===s)break}},Z=function(t,i,e,s){var n=t[i],r=t[e];return Q(n,r,s)},tt=function(t){return 0===t?0:t%1==0?1:K(t,0,1)},it={updateAccumulationLengths:function(){if(null==this.accumulationLengths)this.accumulationLengths=[];else if(this.accumulationLengths.length===this.pathData.length/2)return this;for(var t,i,e,s,n=this.accumulationLengths,r=this.pathData,h=0,a=0,o=r.length;a<o;a+=2)e=r[a],s=r[a+1],h+=void 0===t?0:q(t,i,e,s),n.push(h),t=e,i=s;return this.totalPathLength=h,this},setDisplayPathSegment:function(t,i){return this.pathDataSaved||(this.updateAccumulationLengths(),this.savePathData()),this.pathData.length=0,H(this.pathDataSave,this.accumulationLengths,t,i,this.pathData),this},appendFromPathSegment:function(t,i,e){var s;void 0===i?(s=this.pathData).push.apply(s,l(t.pathData)):(t.updateAccumulationLengths(),H(t.pathData,t.accumulationLengths,i,e,this.pathData));return 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}},et=Phaser.Geom.Polygon,st=function(){function t(e){i(this,t),void 0===e&&(e=[]),this.pathData=e,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;}return s(t,[{key:"setIterations",value:function(t){return this.iterations=t,this}},{key:"toPoints",value:function(){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)}},{key:"toPolygon",value:function(t){return function(t,i){return void 0===i&&(i=new et),i.setTo(t),i}(this.pathData,t)}}]),t}();Object.assign(st.prototype,z,W,J,it,{draw:function(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}});var nt,rt,ht=function(t){n(r,t);var e=o(r);function r(){var t;return i(this,r),(t=e.call(this)).builder=new st(t.pathData),t}return s(r,[{key:"iterations",get:function(){return this.builder.iterations},set:function(t){this.dirty=this.dirty||this.builder.iterations!==t,this.builder.setIterations(t);}},{key:"setIterations",value:function(t){return this.iterations=t,this}},{key:"lastPointX",get:function(){return this.builder.lastPointX}},{key:"lastPointY",get:function(){return this.builder.lastPointY}},{key:"start",value:function(){return this.builder.start(),this.dirty=!0,this}},{key:"startAt",value:function(t,i){return this.builder.startAt(t,i),this.dirty=!0,this}},{key:"lineTo",value:function(t,i,e){return this.builder.lineTo(t,i,e),this.dirty=!0,this}},{key:"verticalLineTo",value:function(t,i){return this.builder.verticalLineTo(t,i),this.dirty=!0,this}},{key:"horizontalLineTo",value:function(t,i){return this.builder.horizontalLineTo(t,i),this.dirty=!0,this}},{key:"ellipticalArc",value:function(t,i,e,s,n,r,h){return this.builder.ellipticalArc(t,i,e,s,n,r,h),this.dirty=!0,this}},{key:"arc",value:function(t,i,e,s,n,r){return this.builder.arc(t,i,e,s,n,r),this.dirty=!0,this}},{key:"quadraticBezierTo",value:function(t,i,e,s){return this.builder.quadraticBezierTo(t,i,e,s),this.dirty=!0,this}},{key:"smoothQuadraticBezierTo",value:function(t,i){return this.builder.smoothQuadraticBezierTo(t,i),this.dirty=!0,this}},{key:"cubicBezierCurveTo",value:function(t,i,e,s,n,r){return this.builder.cubicBezierCurveTo(t,i,e,s,n,r),this.dirty=!0,this}},{key:"smoothCubicBezierCurveTo",value:function(t,i,e,s){return this.builder.smoothCubicBezierCurveTo(t,i,e,s),this.dirty=!0,this}},{key:"close",value:function(){return this.builder.close(),this.closePath=this.builder.closePath,this.dirty=!0,this}},{key:"end",value:function(){return this.builder.end(),this.dirty=!0,this}},{key:"rotateAround",value:function(t,i,e){return this.builder.rotateAround(t,i,e),this.dirty=!0,this}},{key:"scale",value:function(t,i,e,s){return this.builder.scale(t,i,e,s),this.dirty=!0,this}},{key:"offset",value:function(t,i){return this.builder.offset(t,i),this.dirty=!0,this}},{key:"toPolygon",value:function(t){return this.builder.toPolygon(t)}},{key:"appendPathFrom",value:function(t,i,e){return this.builder.appendFromPathSegment(t.builder,i,e),this}},{key:"copyPathFrom",value:function(t,i,e){return this.builder.clear().appendFromPathSegment(t.builder,i,e),this}},{key:"setDisplayPathSegment",value:function(t,i){return this.builder.setDisplayPathSegment(t,i),this}}]),r}(R),at=Phaser.Renderer.WebGL.Utils.getTintAppendFloatAlpha,ot=function(t){n(h,t);var e=o(h);function h(t,s,n,r){var a;return i(this,h),void 0===t&&(t=0),void 0===s&&(s=0),void 0===n&&(n=0),void 0===r&&(r=n),(a=e.call(this)).pathData=[],a.closePath=!0,a.setTopLeftPosition(t,s),a.setSize(n,r),a}return s(h,[{key:"x",get:function(){return this._x},set:function(t){this.dirty=this.dirty||this._x!==t,this._x=t;}},{key:"y",get:function(){return this._y},set:function(t){this.dirty=this.dirty||this._y!==t,this._y=t;}},{key:"setTopLeftPosition",value:function(t,i){return this.x=t,this.y=i,this}},{key:"width",get:function(){return this._width},set:function(t){this.dirty=this.dirty||this._width!==t,this._width=t;}},{key:"height",get:function(){return this._height},set:function(t){this.dirty=this.dirty||this._height!==t,this._height=t;}},{key:"setSize",value:function(t,i){return this.width=t,this.height=i,this}},{key:"centerX",get:function(){return this.x+this.width/2},set:function(t){this.x=t-this.width/2;}},{key:"centerY",get:function(){return this.y+this.height/2},set:function(t){this.y=t-this.height/2;}},{key:"setCenterPosition",value:function(t,i){return this.centerX=t,this.centerY=i,this}},{key:"updateData",value:function(){this.pathData.length=0;var t=this.x,i=t+this.width,e=this.y,s=e+this.height;return this.pathData.push(t,e),this.pathData.push(i,e),this.pathData.push(i,s),this.pathData.push(t,s),this.pathData.push(t,e),u(r(h.prototype),"updateData",this).call(this),this}},{key:"webglRender",value:function(t,i,e,s,n){if(this.isFilled){var r=t.fillTint,h=at(this.fillColor,this.fillAlpha*e);r.TL=h,r.TR=h,r.BL=h,r.BR=h,t.batchFillRect(-s+this.x,-n+this.y,this.width,this.height);}this.isStroked&&T(t,this,e,s,n);}},{key:"canvasRender",value:function(t,i,e){this.isFilled&&(S(t,this),t.fillRect(-i,-e,this.width,this.height)),this.isStroked&&(w(t,this),t.beginPath(),t.rect(-i,-e,this.width,this.height),t.stroke());}}]),h}(P),ut=Phaser.Utils.Objects.GetValue,lt=function(t){n(h,t);var e=o(h);function h(t,s,n,r,a,o){var u;return i(this,h),void 0===t&&(t=0),void 0===s&&(s=0),void 0===n&&(n=0),void 0===r&&(r=n),void 0===a&&(a=0),void 0===o&&(o=6),(u=e.call(this)).setTopLeftPosition(t,s),u.setSize(n,r),u.setRadius(a),u.setIterations(o),u.closePath=!0,u}return s(h,[{key:"x",get:function(){return this._x},set:function(t){this.dirty=this.dirty||this._x!==t,this._x=t;}},{key:"y",get:function(){return this._y},set:function(t){this.dirty=this.dirty||this._y!==t,this._y=t;}},{key:"setTopLeftPosition",value:function(t,i){return this.x=t,this.y=i,this}},{key:"width",get:function(){return this._width},set:function(t){this.dirty=this.dirty||this._width!==t,this._width=t;}},{key:"height",get:function(){return this._height},set:function(t){this.dirty=this.dirty||this._height!==t,this._height=t;}},{key:"setSize",value:function(t,i){return this.width=t,this.height=i,this}},{key:"centerX",get:function(){return this.x+this.width/2},set:function(t){this.x=t-this.width/2;}},{key:"centerY",get:function(){return this.y+this.height/2},set:function(t){this.y=t-this.height/2;}},{key:"setCenterPosition",value:function(t,i){return this.centerX=t,this.centerY=i,this}},{key:"radiusTL",get:function(){return this._radiusTL},set:function(t){var i=t>0;this.dirty=this.dirty||this._radiusTL!==t||this._convexTL!==i,this._convexTL=i,this._radiusTL=Math.abs(t);}},{key:"radiusTR",get:function(){return this._radiusTR},set:function(t){var i=t>0;this.dirty=this.dirty||this._radiusTR!==t||this._convexTR!==i,this._convexTR=i,this._radiusTR=Math.abs(t);}},{key:"radiusBL",get:function(){return this._radiusBL},set:function(t){var i=t>0;this.dirty=this.dirty||this._radiusBL!==t||this._convexBL!==i,this._convexBL=i,this._radiusBL=Math.abs(t);}},{key:"radiusBR",get:function(){return this._radiusBR},set:function(t){var i=t>0;this.dirty=this.dirty||this._radiusBR!==t||this._convexBR!==i,this._convexBR=i,this._radiusBR=Math.abs(t);}},{key:"radius",get:function(){return Math.max(this.radiusTL,this.radiusTR,this.radiusBL,this.radiusBR)},set:function(t){"number"==typeof t?(this.radiusTL=t,this.radiusTR=t,this.radiusBL=t,this.radiusBR=t):(this.radiusTL=ut(t,"tl",0),this.radiusTR=ut(t,"tr",0),this.radiusBL=ut(t,"bl",0),this.radiusBR=ut(t,"br",0));}},{key:"setRadius",value:function(t){return void 0===t&&(t=0),this.radius=t,this}},{key:"iterations",get:function(){return this._iterations},set:function(t){this.dirty=this.dirty||this._iterations!==t,this._iterations=t;}},{key:"setIterations",value:function(t){return this.iterations=t,this}},{key:"updateData",value:function(){var t=this.pathData;t.length=0;var i,e=this.width,s=this.height,n=this.iterations+1;(i=this.radiusTL)>0?this._convexTL?A(i,i,i,i,180,270,!1,n,t):A(0,0,i,i,90,0,!0,n,t):C(0,0,t);(i=this.radiusTR)>0?this._convexTR?A(e-i,i,i,i,270,360,!1,n,t):A(e,0,i,i,180,90,!0,n,t):C(e,0,t);(i=this.radiusBR)>0?this._convexBR?A(e-i,s-i,i,i,0,90,!1,n,t):A(e,s,i,i,270,180,!0,n,t):C(e,s,t);(i=this.radiusBL)>0?this._convexBL?A(i,s-i,i,i,90,180,!1,n,t):A(0,s,i,i,360,270,!0,n,t):C(0,s,t);return t.push(t[0],t[1]),I(this.x,this.y,t),u(r(h.prototype),"updateData",this).call(this),this}}]),h}(R),ct=Phaser.Renderer.WebGL.Utils.getTintAppendFloatAlpha,ft={arc:L,circle:j,curve:X,ellipse:Y,line:B,lines:ht,rectangle:ot,roundRectangle:lt,triangle:function(t){n(h,t);var e=o(h);function h(t,s,n,r,a,o){var u;return i(this,h),void 0===t&&(t=0),void 0===s&&(s=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===a&&(a=0),void 0===o&&(o=0),(u=e.call(this)).pathData=[],u.closePath=!0,u.setP0(t,s),u.setP1(n,r),u.setP2(a,o),u}return s(h,[{key:"x0",get:function(){return this._x0},set:function(t){this.dirty=this.dirty||this._x0!==t,this._x0=t;}},{key:"y0",get:function(){return this._y0},set:function(t){this.dirty=this.dirty||this._y0!==t,this._y0=t;}},{key:"setP0",value:function(t,i){return this.x0=t,this.y0=i,this}},{key:"x1",get:function(){return this._x1},set:function(t){this.dirty=this.dirty||this._x1!==t,this._x1=t;}},{key:"y1",get:function(){return this._y1},set:function(t){this.dirty=this.dirty||this._y1!==t,this._y1=t;}},{key:"setP1",value:function(t,i){return this.x1=t,this.y1=i,this}},{key:"x2",get:function(){return this._x2},set:function(t){this.dirty=this.dirty||this._x2!==t,this._x2=t;}},{key:"y2",get:function(){return this._y2},set:function(t){this.dirty=this.dirty||this._y2!==t,this._y2=t;}},{key:"setP2",value:function(t,i){return this.dirty=this.dirty||this.x2!==t||this.y2!==i,this.x2=t,this.y2=i,this}},{key:"updateData",value:function(){return this.pathData.length=0,this.pathData.push(this.x0,this.y0),this.pathData.push(this.x1,this.y1),this.pathData.push(this.x2,this.y2),this.pathData.push(this.x0,this.y0),u(r(h.prototype),"updateData",this).call(this),this}},{key:"webglRender",value:function(t,i,e,s,n){if(this.isFilled){var r=ct(this.fillColor,this.fillAlpha*e),h=this.x0-s,a=this.y0-n,o=this.x1-s,u=this.y1-n,l=this.x2-s,c=this.y2-n,f=i.getX(h,a),d=i.getY(h,a),y=i.getX(o,u),p=i.getY(o,u),v=i.getX(l,c),g=i.getY(l,c);t.batchTri(f,d,y,p,v,g,r,r,r);}this.isStroked&&T(t,this,e,s,n);}},{key:"canvasRender",value:function(t,i,e){var s=this.x1-i,n=this.y1-e,r=this.x2-i,h=this.y2-e,a=this.x3-i,o=this.y3-e;t.beginPath(),t.moveTo(s,n),t.lineTo(r,h),t.lineTo(a,o),t.closePath(),this.isFilled&&(S(t,this),t.fill()),this.isStroked&&(w(t,this),t.stroke());}}]),h}(P)},dt=Phaser.Utils.Objects.GetValue,yt=Phaser.Utils.Objects.IsPlainObject,pt=function(){for(var t=this.getShapes(),i=0,e=t.length;i<e;i++)t[i].lineStyle().fillStyle();},vt={createShape:function(t,i){var e=new(ft[t]);return i&&e.setName(i),e},buildShapes:function(i){var e=dt(i,"create",void 0);if(yt(e)){var s=e;for(var n in s){var r=s[n];switch(t(r)){case"number":for(var h=0;h<r;h++)this.addShape(this.createShape(n));break;case"string":this.addShape(this.createShape(n,r));break;default:for(var a=r,o=(h=0,a.length);h<o;h++)this.addShape(this.createShape(n,a[h]));}}}else if(Array.isArray(e))for(h=0,o=(s=e).length;h<o;h++){var u=s[h];this.addShape(this.createShape(u.type,u.name));}else "function"==typeof e&&e.call(this);this.setUpdateShapesCallback(dt(i,"update"));},setUpdateShapesCallback:function(t){return void 0===t&&(t=pt),this.dirty=this.dirty||this.updateCallback!==t,this.updateCallback=t,this},updateShapes:function(){this.updateCallback.call(this);}},gt=Phaser.GameObjects.Components.TransformMatrix,kt=Phaser.Math.TransformXY,mt={},_t=Phaser.Utils.Objects.GetValue,Pt=Phaser.Utils.Objects.IsPlainObject,bt=function(t){n(r,t);var e=o(r);function r(t,s,n,h,a,o){var u;return i(this,r),Pt(s)&&(s=_t(o=s,"x",0),n=_t(o,"y",0),h=_t(o,"width",2),a=_t(o,"height",2)),(u=e.call(this,t,s,n,h,a)).type=_t(o,"type","rexCustomShapes"),u.buildShapes(o),u}return s(r,[{key:"centerX",get:function(){return this.width/2}},{key:"centerY",get:function(){return this.height/2}},{key:"worldToLocalXY",value:function(t,i,e,s){return "boolean"==typeof e&&(s=e,e=void 0),function(t,i,e,s,n){void 0===s&&(s=t.scene.cameras.main),void 0===n?n={}:!0===n&&(n=mt);var r=s.scrollX,h=s.scrollY,a=i+r*t.scrollFactorX-r,o=e+h*t.scrollFactorY-h;return t.parentContainer?(void 0===nt&&(nt=new gt,rt=new gt),t.getWorldTransformMatrix(nt,rt),nt.applyInverse(a,o,n)):kt(a,o,t.x,t.y,t.rotation,t.scaleX,t.scaleY,n),n.x+=t.displayOriginX,n.y+=t.displayOriginY,n}(this,t,i,e,s)}}]),r}(k);Object.assign(bt.prototype,vt);var Dt=Phaser.Math.Linear,Tt=Phaser.Math.Percent,St={setValue:function(t,i,e){return null==t||(void 0!==i&&(t=Tt(t,i,e)),this.value=t),this},addValue:function(t,i,e){return void 0!==i&&(t=Tt(t,i,e)),this.value+=t,this},getValue:function(t,i){var e=this.value;return void 0!==t&&(e=Dt(t,i,e)),e}},wt={setEventEmitter:function(t,i){return void 0===i&&(i=Phaser.Events.EventEmitter),this._privateEE=!0===t||void 0===t,this._eventEmitter=this._privateEE?new i:t,this},destroyEventEmitter:function(){return this._eventEmitter&&this._privateEE&&this._eventEmitter.shutdown(),this},getEventEmitter:function(){return this._eventEmitter},on:function(){return this._eventEmitter&&this._eventEmitter.on.apply(this._eventEmitter,arguments),this},once:function(){return this._eventEmitter&&this._eventEmitter.once.apply(this._eventEmitter,arguments),this},off:function(){return this._eventEmitter&&this._eventEmitter.off.apply(this._eventEmitter,arguments),this},emit:function(t){return this._eventEmitter&&t&&this._eventEmitter.emit.apply(this._eventEmitter,arguments),this},addListener:function(){return this._eventEmitter&&this._eventEmitter.addListener.apply(this._eventEmitter,arguments),this},removeListener:function(){return this._eventEmitter&&this._eventEmitter.removeListener.apply(this._eventEmitter,arguments),this},removeAllListeners:function(){return this._eventEmitter&&this._eventEmitter.removeAllListeners.apply(this._eventEmitter,arguments),this},listenerCount:function(){return this._eventEmitter?this._eventEmitter.listenerCount.apply(this._eventEmitter,arguments):0},listeners:function(){return this._eventEmitter?this._eventEmitter.listeners.apply(this._eventEmitter,arguments):[]},eventNames:function(){return this._eventEmitter?this._eventEmitter.eventNames.apply(this._eventEmitter,arguments):[]}},xt=Phaser.Scene,Rt=function(t){return t instanceof xt},Ct=Phaser.Game,Et=function(t){return t instanceof Ct},At=Phaser.Utils.Objects.GetValue,Ot=function(){function e(t,s){i(this,e),this.setParent(t),this.isShutdown=!1,this.setEventEmitter(At(s,"eventEmitter",!0)),this.parent&&(this.parent===this.scene?this.scene.sys.events.once("shutdown",this.onEnvDestroy,this):this.parent===this.game?this.game.events.once("shutdown",this.onEnvDestroy,this):this.parent.once&&this.parent.once("destroy",this.onParentDestroy,this));}return s(e,[{key:"shutdown",value:function(t){this.isShutdown||(this.parent&&(this.parent===this.scene?this.scene.sys.events.off("shutdown",this.onEnvDestroy,this):this.parent===this.game?this.game.events.off("shutdown",this.onEnvDestroy,this):this.parent.once&&this.parent.off("destroy",this.onParentDestroy,this)),this.destroyEventEmitter(),this.parent=void 0,this.scene=void 0,this.game=void 0,this.isShutdown=!0);}},{key:"destroy",value:function(t){this.shutdown(t);}},{key:"onEnvDestroy",value:function(){this.destroy(!0);}},{key:"onParentDestroy",value:function(t,i){this.destroy(i);}},{key:"setParent",value:function(i){var e;return this.parent=i,this.scene=null==(e=i)||"object"!==t(e)?null:Rt(e)?e:e.scene&&Rt(e.scene)?e.scene:e.parent&&e.parent.scene&&Rt(e.parent.scene)?e.parent.scene:null,this.game=function(i){return null==i||"object"!==t(i)?null:Et(i)?i:Et(i.game)?i.game:Rt(i)?i.sys.game:Rt(i.scene)?i.scene.sys.game:void 0}(i),this}}]),e}();Object.assign(Ot.prototype,wt);var Lt=Phaser.Utils.Objects.GetValue,jt=function(t){n(h,t);var e=o(h);function h(t,s){var n;return i(this,h),(n=e.call(this,t,s))._isRunning=!1,n.isPaused=!1,n.tickingState=!1,n.setTickingMode(Lt(s,"tickingMode",1)),n}return s(h,[{key:"boot",value:function(){2!==this.tickingMode||this.tickingState||this.startTicking();}},{key:"shutdown",value:function(t){this.isShutdown||(this.stop(),this.tickingState&&this.stopTicking(),u(r(h.prototype),"shutdown",this).call(this,t));}},{key:"setTickingMode",value:function(t){"string"==typeof t&&(t=Xt[t]),this.tickingMode=t;}},{key:"startTicking",value:function(){this.tickingState=!0;}},{key:"stopTicking",value:function(){this.tickingState=!1;}},{key:"isRunning",get:function(){return this._isRunning},set:function(t){this._isRunning!==t&&(this._isRunning=t,1===this.tickingMode&&t!=this.tickingState&&(t?this.startTicking():this.stopTicking()));}},{key:"start",value:function(){return this.isPaused=!1,this.isRunning=!0,this}},{key:"pause",value:function(){return this.isRunning&&(this.isPaused=!0,this.isRunning=!1),this}},{key:"resume",value:function(){return this.isPaused&&(this.isRunning=!0),this}},{key:"stop",value:function(){return this.isPaused=!1,this.isRunning=!1,this}},{key:"complete",value:function(){this.isPaused=!1,this.isRunning=!1,this.emit("complete",this.parent,this);}}]),h}(Ot),Xt={no:0,lazy:1,always:2},Yt=Phaser.Utils.Objects.GetValue,Bt=function(t){n(h,t);var e=o(h);function h(t,s){var n;i(this,h);var r=(n=e.call(this,t,s)).scene?"update":"step";return n.tickEventName=Yt(s,"tickEventName",r),n.isSceneTicker=!Vt(n.tickEventName),n}return s(h,[{key:"startTicking",value:function(){u(r(h.prototype),"startTicking",this).call(this),this.isSceneTicker?this.scene.sys.events.on(this.tickEventName,this.update,this):this.game.events.on(this.tickEventName,this.update,this);}},{key:"stopTicking",value:function(){u(r(h.prototype),"stopTicking",this).call(this),this.isSceneTicker&&this.scene?this.scene.sys.events.off(this.tickEventName,this.update,this):this.game&&this.game.events.off(this.tickEventName,this.update,this);}}]),h}(jt),Vt=function(t){return "step"===t||"poststep"===t},Ft=Phaser.Utils.Objects.GetValue,Mt=Phaser.Math.Clamp,zt=function(){function t(e){i(this,t),this.resetFromJSON(e);}return s(t,[{key:"resetFromJSON",value:function(t){this.state=Ft(t,"state",Gt),this.timeScale=Ft(t,"timeScale",1),this.delay=Ft(t,"delay",0),this.repeat=Ft(t,"repeat",0),this.repeatCounter=Ft(t,"repeatCounter",0),this.repeatDelay=Ft(t,"repeatDelay",0),this.duration=Ft(t,"duration",0),this.nowTime=Ft(t,"nowTime",0),this.justRestart=Ft(t,"justRestart",!1);}},{key:"toJSON",value:function(){return {state:this.state,timeScale:this.timeScale,delay:this.delay,repeat:this.repeat,repeatCounter:this.repeatCounter,repeatDelay:this.repeatDelay,duration:this.duration,nowTime:this.nowTime,justRestart:this.justRestart}}},{key:"destroy",value:function(){}},{key:"setTimeScale",value:function(t){return this.timeScale=t,this}},{key:"setDelay",value:function(t){return void 0===t&&(t=0),this.delay=t,this}},{key:"setDuration",value:function(t){return this.duration=t,this}},{key:"setRepeat",value:function(t){return this.repeat=t,this}},{key:"setRepeatInfinity",value:function(){return this.repeat=-1,this}},{key:"setRepeatDelay",value:function(t){return this.repeatDelay=t,this}},{key:"start",value:function(){return this.nowTime=this.delay>0?-this.delay:0,this.state=this.nowTime>=0?Nt:It,this.repeatCounter=0,this}},{key:"stop",value:function(){return this.state=Gt,this}},{key:"update",value:function(t,i){this.state!==Gt&&this.state!==Wt&&0!==i&&0!==this.timeScale&&(this.nowTime+=i*this.timeScale,this.justRestart=!1,this.nowTime>=this.duration?-1===this.repeat||this.repeatCounter<this.repeat?(this.repeatCounter++,this.justRestart=!0,this.nowTime-=this.duration,this.repeatDelay>0&&(this.nowTime-=this.repeatDelay,this.state=Ut)):(this.nowTime=this.duration,this.state=Wt):this.nowTime>=0&&(this.state=Nt));}},{key:"t",get:function(){var t;switch(this.state){case Gt:case It:case Ut:t=0;break;case Nt:t=this.nowTime/this.duration;break;case Wt:t=1;}return Mt(t,0,1)},set:function(t){(t=Mt(t,-1,1))<0?(this.state=It,this.nowTime=-this.delay*t):(this.state=Nt,this.nowTime=this.duration*t,1===t&&0!==this.repeat&&this.repeatCounter++);}},{key:"setT",value:function(t){return this.t=t,this}},{key:"isIdle",get:function(){return this.state===Gt}},{key:"isDelay",get:function(){return this.state===It}},{key:"isCountDown",get:function(){return this.state===Nt}},{key:"isRunning",get:function(){return this.state===It||this.state===Nt}},{key:"isDone",get:function(){return this.state===Wt}},{key:"isOddIteration",get:function(){return 1==(1&this.repeatCounter)}},{key:"isEvenIteration",get:function(){return 0==(1&this.repeatCounter)}}]),t}(),Gt=0,It=1,Nt=2,Ut=3,Wt=-1,Jt=function(t){n(h,t);var e=o(h);function h(t,s){var n;return i(this,h),(n=e.call(this,t,s)).timer=new zt,n}return s(h,[{key:"shutdown",value:function(t){this.isShutdown||(u(r(h.prototype),"shutdown",this).call(this,t),this.timer.destroy(),this.timer=void 0);}},{key:"start",value:function(){return this.timer.start(),u(r(h.prototype),"start",this).call(this),this}},{key:"stop",value:function(){return this.timer.stop(),u(r(h.prototype),"stop",this).call(this),this}},{key:"complete",value:function(){return this.timer.stop(),u(r(h.prototype),"complete",this).call(this),this}}]),h}(Bt),qt=Phaser.Utils.Objects.GetValue,Kt=Phaser.Utils.Objects.GetAdvancedValue,Qt=Phaser.Tweens.Builders.GetEaseFunction,Ht=function(t){n(h,t);var e=o(h);function h(){return i(this,h),e.apply(this,arguments)}return s(h,[{key:"resetFromJSON",value:function(t){return this.timer.resetFromJSON(qt(t,"timer")),this.setEnable(qt(t,"enable",!0)),this.setTarget(qt(t,"target",this.parent)),this.setDelay(Kt(t,"delay",0)),this.setDuration(Kt(t,"duration",1e3)),this.setEase(qt(t,"ease","Linear")),this.setRepeat(qt(t,"repeat",0)),this}},{key:"setEnable",value:function(t){return null==t&&(t=!0),this.enable=t,this}},{key:"setTarget",value:function(t){return void 0===t&&(t=this.parent),this.target=t,this}},{key:"setDelay",value:function(t){return this.delay=t,this}},{key:"setDuration",value:function(t){return this.duration=t,this}},{key:"setRepeat",value:function(t){return this.repeat=t,this}},{key:"setRepeatDelay",value:function(t){return this.repeatDelay=t,this}},{key:"setEase",value:function(t){return void 0===t&&(t="Linear"),this.ease=t,this.easeFn=Qt(t),this}},{key:"start",value:function(){return this.timer.isRunning||u(r(h.prototype),"start",this).call(this),this}},{key:"restart",value:function(){return this.timer.stop(),this.start.apply(this,arguments),this}},{key:"stop",value:function(t){return void 0===t&&(t=!1),u(r(h.prototype),"stop",this).call(this),t&&(this.timer.setT(1),this.updateGameObject(this.target,this.timer),this.complete()),this}},{key:"update",value:function(t,i){if(!this.isRunning||!this.enable||!this.parent.active)return this;var e=this.target,s=this.timer;return s.update(t,i),s.isDelay||this.updateGameObject(e,s),this.emit("update",e,this),s.isDone&&this.complete(),this}},{key:"updateGameObject",value:function(t,i){}}]),h}(Jt),$t=Phaser.Utils.Objects.GetValue,Zt=Phaser.Math.Linear,ti=function(t){n(h,t);var e=o(h);function h(t,s){var n;return i(this,h),(n=e.call(this,t,s)).resetFromJSON(),n.boot(),n}return s(h,[{key:"start",value:function(t){if(this.timer.isRunning)return this;var i=this.target;this.propertyKey=$t(t,"key","value");var e=i[this.propertyKey];return this.fromValue=$t(t,"from",e),this.toValue=$t(t,"to",e),this.setEase($t(t,"ease",this.ease)),this.setDuration($t(t,"duration",this.duration)),this.setRepeat($t(t,"repeat",0)),this.setDelay($t(t,"delay",0)),this.setRepeatDelay($t(t,"repeatDelay",0)),this.timer.setDuration(this.duration).setRepeat(this.repeat).setDelay(this.delay).setRepeatDelay(this.repeatDelay),i[this.propertyKey]=this.fromValue,u(r(h.prototype),"start",this).call(this),this}},{key:"updateGameObject",value:function(t,i){var e=i.t;e=this.easeFn(e),t[this.propertyKey]=Zt(this.fromValue,this.toValue,e);}}]),h}(Ht),ii=Phaser.Math.Percent,ei={setEaseValuePropName:function(t){return this.easeValuePropName=t,this},setEaseValueDuration:function(t){return this.easeValueDuration=t,this},setEaseValueFunction:function(t){return this.easeFunction=t,this},stopEaseValue:function(){return this.easeValueTask&&this.easeValueTask.stop(),this},easeValueTo:function(t,i,e){return null==t||(void 0!==i&&(t=ii(t,i,e)),void 0===this.easeValueTask&&(this.easeValueTask=new ti(this,{eventEmitter:null})),this.easeValueTask.restart({key:this.easeValuePropName,to:t,duration:this.easeValueDuration,ease:this.easeFunction})),this},easeValueRepeat:function(t,i,e,s){return void 0===e&&(e=-1),void 0===s&&(s=0),void 0===this.easeValueTask&&(this.easeValueTask=new ti(this,{eventEmitter:null})),this.easeValueTask.restart({key:this.easeValuePropName,from:t,to:i,duration:this.easeValueDuration,ease:this.easeFunction,repeat:e,repeatDelay:s}),this}},si=Phaser.Utils.Objects.GetValue,ni=Phaser.Math.Clamp;var ri=Phaser.Utils.Objects.GetValue,hi=Phaser.Utils.Objects.IsPlainObject,ai=function(t){n(r,t);var e=o(r);function r(t,s,n,h,a,o){var u;return i(this,r),hi(s)&&(s=ri(o=s,"x",0),n=ri(o,"y",0),h=ri(o,"width",2),a=ri(o,"height",2)),void 0===o&&(o={}),o.type||(o.type="rexCustomProgress"),(u=e.call(this,t,s,n,h,a,o)).bootProgressBase(o),u.setValue(ri(o,"value",0)),u}return s(r,[{key:"centerX",get:function(){return this.width/2}},{key:"centerY",get:function(){return this.height/2}},{key:"radius",get:function(){return Math.min(this.centerX,this.centerY)}}]),r}(function(t){var e=function(t){n(r,t);var e=o(r);function r(){return i(this,r),e.apply(this,arguments)}return s(r,[{key:"bootProgressBase",value:function(t){this.eventEmitter=si(t,"eventEmitter",this);var i=si(t,"valuechangeCallback",null);if(null!==i){var e=si(t,"valuechangeCallbackScope",void 0);this.eventEmitter.on("valuechange",i,e);}return this.setEaseValuePropName("value").setEaseValueDuration(si(t,"easeValue.duration",0)).setEaseValueFunction(si(t,"easeValue.ease","Linear")),this}},{key:"value",get:function(){return this._value},set:function(t){t=ni(t,0,1);var i=this._value,e=i!=t;this.dirty=this.dirty||e,this._value=t,e&&this.eventEmitter.emit("valuechange",this._value,i,this.eventEmitter);}}]),r}(t);return Object.assign(e.prototype,St,ei),e}(bt));return ai}));