phaser3-rex-plugins
Version:
2 lines (1 loc) • 46.1 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).rexcustomspinner=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,y=Phaser.Renderer.Canvas.SetTransform,d={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,y=l.length;c<y;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(y(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,d);var m={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):[]}},_=Phaser.Scene,D=function(t){return t instanceof _},b=Phaser.Game,P=function(t){return t instanceof b},T=Phaser.Utils.Objects.GetValue,S=function(){function e(t,s){i(this,e),this.setParent(t),this.isShutdown=!1,this.setEventEmitter(T(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:D(e)?e:e.scene&&D(e.scene)?e.scene:e.parent&&e.parent.scene&&D(e.parent.scene)?e.parent.scene:null,this.game=function(i){return null==i||"object"!==t(i)?null:P(i)?i:P(i.game)?i.game:D(i)?i.sys.game:D(i.scene)?i.scene.sys.game:void 0}(i),this}}]),e}();Object.assign(S.prototype,m);var w=Phaser.Utils.Objects.GetValue,R=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(w(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=x[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}(S),x={no:0,lazy:1,always:2},C=Phaser.Utils.Objects.GetValue,E=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=C(s,"tickEventName",r),n.isSceneTicker=!A(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}(R),A=function(t){return "step"===t||"poststep"===t},L=Phaser.Utils.Objects.GetValue,O=Phaser.Math.Clamp,j=function(){function t(e){i(this,t),this.resetFromJSON(e);}return s(t,[{key:"resetFromJSON",value:function(t){this.state=L(t,"state",X),this.timeScale=L(t,"timeScale",1),this.delay=L(t,"delay",0),this.repeat=L(t,"repeat",0),this.repeatCounter=L(t,"repeatCounter",0),this.repeatDelay=L(t,"repeatDelay",0),this.duration=L(t,"duration",0),this.nowTime=L(t,"nowTime",0),this.justRestart=L(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?B:Y,this.repeatCounter=0,this}},{key:"stop",value:function(){return this.state=X,this}},{key:"update",value:function(t,i){this.state!==X&&this.state!==F&&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=z)):(this.nowTime=this.duration,this.state=F):this.nowTime>=0&&(this.state=B));}},{key:"t",get:function(){var t;switch(this.state){case X:case Y:case z:t=0;break;case B:t=this.nowTime/this.duration;break;case F:t=1;}return O(t,0,1)},set:function(t){(t=O(t,-1,1))<0?(this.state=Y,this.nowTime=-this.delay*t):(this.state=B,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===X}},{key:"isDelay",get:function(){return this.state===Y}},{key:"isCountDown",get:function(){return this.state===B}},{key:"isRunning",get:function(){return this.state===Y||this.state===B}},{key:"isDone",get:function(){return this.state===F}},{key:"isOddIteration",get:function(){return 1==(1&this.repeatCounter)}},{key:"isEvenIteration",get:function(){return 0==(1&this.repeatCounter)}}]),t}(),X=0,Y=1,B=2,z=3,F=-1,M=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 j,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}(E),V=Phaser.Utils.Objects.GetValue,G=Phaser.Utils.Objects.GetAdvancedValue,I=Phaser.Tweens.Builders.GetEaseFunction,U=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(V(t,"timer")),this.setEnable(V(t,"enable",!0)),this.setTarget(V(t,"target",this.parent)),this.setDelay(G(t,"delay",0)),this.setDuration(G(t,"duration",1e3)),this.setEase(V(t,"ease","Linear")),this.setRepeat(V(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=I(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}(M),N=Phaser.Utils.Objects.GetValue,W=Phaser.Math.Linear,J=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=N(t,"key","value");var e=i[this.propertyKey];return this.fromValue=N(t,"from",e),this.toValue=N(t,"to",e),this.setEase(N(t,"ease",this.ease)),this.setDuration(N(t,"duration",this.duration)),this.setRepeat(N(t,"repeat",0)),this.setDelay(N(t,"delay",0)),this.setRepeatDelay(N(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]=W(this.fromValue,this.toValue,e);}}]),h}(U),q={start:function(t){return this.easeValueTask||(this.easeValueTask=new J(this,{eventEmitter:null})),void 0!==t&&(this.duration=t,this.easeValueTask.stop()),this.easeValueTask.isRunning||(this.easeValueTask.restart({key:"value",from:0,to:1,duration:this.duration,ease:this.ease,repeat:-1,delay:this.delay,repeatDelay:this.repeatDelay}),this.setDirty()),this},stop:function(){return this.easeValueTask?(this.easeValueTask.stop(),this.setDirty(),this):this},pause:function(){return this.easeValueTask?(this.easeValueTask.pause(),this.setDirty(),this):this},resume:function(){return this.easeValueTask?(this.easeValueTask.pause(),this.setDirty(),this):this}},K=Phaser.Utils.Objects.GetValue,Q=function(t){n(r,t);var e=o(r);function r(t,s){var n;i(this,r);var h=K(s,"x",0),a=K(s,"y",0),o=K(s,"width",64),u=K(s,"height",64);(n=e.call(this,t,h,a,o,u)).setDuration(K(s,"duration",1e3)),n.setEase(K(s,"ease","Linear")),n.setDelay(K(s,"delay",0)),n.setRepeatDelay(K(s,"repeatDelay",0));var l=K(s,"color",16777215),c=K(s,"start",!0);return n.buildShapes(s),n.setColor(l),n.setValue(0),c&&n.start(),n}return s(r,[{key:"buildShapes",value:function(){}},{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)}},{key:"color",get:function(){return this._color},set:function(t){this.isColorChanged=this.isColorChanged||this._color!==t,this.dirty=this.dirty||this.isColorChanged,this._color=t,this.setShapesColor(t);}},{key:"setColor",value:function(t){return this.color=t,this}},{key:"setShapesColor",value:function(t){}},{key:"value",get:function(){return this._value},set:function(t){t=Phaser.Math.Clamp(t,0,1),this.dirty=this.dirty||this._value!=t,this._value=t;}},{key:"setValue",value:function(t){return this.value=t,this}},{key:"setDuration",value:function(t){return this.duration=t,this}},{key:"setDelay",value:function(t){return this.delay=t,this}},{key:"setRepeatDelay",value:function(t){return this.repeatDelay=t,this}},{key:"setEase",value:function(t){return this.ease=t,this}},{key:"isRunning",get:function(){return !!this.tweenTask&&this.tweenTask.isRunning}}]),r}(k);Object.assign(Q.prototype,q);var H={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}},Z=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(Z.prototype,H,$);var tt=Phaser.Renderer.WebGL.Utils,it=Phaser.Renderer.WebGL.Utils,et=function(t,i,e,s,n){var r=t.strokeTint,h=it.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 y=2;y<o;y+=2){var d=a[y]-s,p=a[y+1]-n;t.batchLine(c,f,d,p,l,l,u,y-2,!!i.closePath&&y===o-1),c=d,f=p;}},st=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+")";},nt=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;},rt=Phaser.Geom.Polygon.Earcut,ht=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=rt(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=tt.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],y=a[l+0]-n,d=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(y,d),_=i.getY(y,d),D=i.getX(p,v),b=i.getY(p,v),P=i.getX(g,k),T=i.getY(g,k);t.batchTri(e,m,_,D,b,P,T,0,0,1,1,h,h,h,2);}}(t,i,this,e,s,n),this.isStroked&&et(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&&(st(t,this),t.fill()),this.isStroked&&(nt(t,this),t.stroke());}}]),h}(Z),at=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},ot=Phaser.Math.DegToRad,ut=function(t,i,e,s,n,r,h,a,o){h&&r>n?r-=360:!h&&r<n&&(r+=360);var u=ot(r-n)/a;n=ot(n);for(var l=0;l<=a;l++){var c=n+u*l,f=t+e*Math.cos(c),y=i+s*Math.sin(c);at(f,y,o);}return o},lt=Phaser.Math.DegToRad,ct=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),ut(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=lt(this.startAngle),h=lt(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&&(st(t,this),t.fill()),this.isStroked&&(nt(t,this),t.stroke());}}]),h}(ht),ft=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)}(ct),yt=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}(ht),dt=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)}(ct),pt=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}(ht),vt=Phaser.Math.Interpolation.QuadraticBezier,gt=Phaser.Math.Interpolation.CubicBezier,kt=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},mt={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),at(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),ut(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(vt(c,a,t,e),vt(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 y=c/f;a.push(gt(y,u,t,e,n),gt(y,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 kt(this.pathData),this}},_t=Phaser.Math.RotateAround,Dt=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},bt=Phaser.Math.DegToRad,Pt=Phaser.Math.RotateAround,Tt={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],_t(n,t,i,e),s[r]=n.x,s[r+1]=n.y;}(t,i,e=bt(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};Pt(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 Dt(t,i,this.pathData),this}},St={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}},wt=Phaser.Math.Distance.Between,Rt=Phaser.Math.Wrap,xt=Phaser.Math.Linear,Ct=function(t,i,e,s,n){if(void 0===s&&(s=e,e=0),(e=Lt(e))!==(s=Lt(s))){var r=i[i.length-1],h=r*e,a=r*s;e<s?Et(t,i,h,a,n):(Et(t,i,h,r,n),Et(t,i,0,a,n)),kt(n);}},Et=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(At(t,o-2,o,l)),n.push(At(t,o-1,o+1,l)),r=!1;}}if(!(u<=s)){l=1-(u-s)/(u-i[h-1]);n.push(At(t,o-2,o,l)),n.push(At(t,o-1,o+1,l));break}if(n.push(t[o]),n.push(t[o+1]),u===s)break}},At=function(t,i,e,s){var n=t[i],r=t[e];return xt(n,r,s)},Lt=function(t){return 0===t?0:t%1==0?1:Rt(t,0,1)},Ot={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:wt(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,Ct(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(),Ct(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}},jt=Phaser.Geom.Polygon,Xt=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 jt),i.setTo(t),i}(this.pathData,t)}}]),t}();Object.assign(Xt.prototype,mt,Tt,St,Ot,{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 Yt=function(t){n(r,t);var e=o(r);function r(){var t;return i(this,r),(t=e.call(this)).builder=new Xt(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}(ht),Bt=Phaser.Renderer.WebGL.Utils.getTintAppendFloatAlpha,zt=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=Bt(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&&et(t,this,e,s,n);}},{key:"canvasRender",value:function(t,i,e){this.isFilled&&(st(t,this),t.fillRect(-i,-e,this.width,this.height)),this.isStroked&&(nt(t,this),t.beginPath(),t.rect(-i,-e,this.width,this.height),t.stroke());}}]),h}(Z),Ft=Phaser.Utils.Objects.GetValue,Mt=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=Ft(t,"tl",0),this.radiusTR=Ft(t,"tr",0),this.radiusBL=Ft(t,"bl",0),this.radiusBR=Ft(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?ut(i,i,i,i,180,270,!1,n,t):ut(0,0,i,i,90,0,!0,n,t):at(0,0,t);(i=this.radiusTR)>0?this._convexTR?ut(e-i,i,i,i,270,360,!1,n,t):ut(e,0,i,i,180,90,!0,n,t):at(e,0,t);(i=this.radiusBR)>0?this._convexBR?ut(e-i,s-i,i,i,0,90,!1,n,t):ut(e,s,i,i,270,180,!0,n,t):at(e,s,t);(i=this.radiusBL)>0?this._convexBL?ut(i,s-i,i,i,90,180,!1,n,t):ut(0,s,i,i,360,270,!0,n,t):at(0,s,t);return t.push(t[0],t[1]),Dt(this.x,this.y,t),u(r(h.prototype),"updateData",this).call(this),this}}]),h}(ht),Vt=Phaser.Renderer.WebGL.Utils.getTintAppendFloatAlpha,Gt={arc:ct,circle:ft,curve:yt,ellipse:dt,line:pt,lines:Yt,rectangle:zt,roundRectangle:Mt,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=Vt(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),y=i.getY(h,a),d=i.getX(o,u),p=i.getY(o,u),v=i.getX(l,c),g=i.getY(l,c);t.batchTri(f,y,d,p,v,g,r,r,r);}this.isStroked&&et(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&&(st(t,this),t.fill()),this.isStroked&&(nt(t,this),t.stroke());}}]),h}(Z)},It=Phaser.Utils.Objects.GetValue,Ut=Phaser.Utils.Objects.IsPlainObject,Nt=function(){for(var t=this.getShapes(),i=0,e=t.length;i<e;i++)t[i].lineStyle().fillStyle();},Wt={createShape:function(t,i){var e=new(Gt[t]);return i&&e.setName(i),e},buildShapes:function(i){var e=It(i,"create",void 0);if(Ut(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(It(i,"update"));},setUpdateShapesCallback:function(t){return void 0===t&&(t=Nt),this.dirty=this.dirty||this.updateCallback!==t,this.updateCallback=t,this},updateShapes:function(){this.updateCallback.call(this);}},Jt=Phaser.Utils.Objects.GetValue,qt=function(t){n(r,t);var e=o(r);function r(t,s){var n;return i(this,r),(n=e.call(this,t,s)).type=Jt(s,"type","rexSpinnerCustom"),n}return s(r)}(Q);return Object.assign(qt.prototype,Wt),qt}));