UNPKG

phaser3-rex-plugins

Version:
1 lines 61.4 kB
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).rexspinnerplugin=e();}(undefined,(function(){function t(e){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(e)}function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var i=0;i<e.length;i++){var s=e[i];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,e){if("object"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var s=i.call(t,e||"default");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return ("string"===e?String:Number)(t)}(n,"string"))?r:String(r)),s);}var n,r;}function s(t,e,s){return e&&i(t.prototype,e),s&&i(t,s),Object.defineProperty(t,"prototype",{writable:!1}),t}function n(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&a(t,e);}function r(t){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},r(t)}function a(t,e){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},a(t,e)}function h(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)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 u(t){var e=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 i,s=r(t);if(e){var n=r(this).constructor;i=Reflect.construct(s,arguments,n);}else i=s.apply(this,arguments);return h(this,i)}}function o(){return o="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,i){var s=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=r(t)););return t}(t,e);if(s){var n=Object.getOwnPropertyDescriptor(s,e);return n.get?n.get.call(arguments.length<3?t:i):n.value}},o.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,e){if(!t)return;if("string"==typeof t)return c(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return c(t,e)}(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,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,s=new Array(e);i<e;i++)s[i]=t[i];return s}var d=function(){function t(i){e(this,t),this.scene=i,this.displayList=i.sys.displayList,this.updateList=i.sys.updateList,i.events.once("destroy",this.destroy,this);}return s(t,[{key:"destroy",value:function(){this.scene=null,this.displayList=null,this.updateList=null;}}],[{key:"register",value:function(e,i){t.prototype[e]=i;}}]),t}(),f=Phaser.GameObjects.GetCalcMatrix,p=Phaser.Renderer.Canvas.SetTransform,v={renderWebGL:function(t,e,i,s){e.updateData(),i.addToRenderList(e);var n=t.pipelines.set(e.pipeline),r=f(e,i,s),a=n.calcMatrix.copyFrom(r.calc),h=e._displayOriginX,u=e._displayOriginY,o=i.alpha*e.alpha;t.pipelines.preBatch(e);for(var l=e.geom,c=0,d=l.length;c<d;c++)l[c].webglRender(n,a,o,h,u);t.pipelines.postBatch(e);},renderCanvas:function(t,e,i,s){e.updateData(),i.addToRenderList(e);var n=t.currentContext;if(p(t,n,e,i,s)){for(var r=e._displayOriginX,a=e._displayOriginY,h=e.geom,u=0,o=h.length;u<o;u++)h[u].canvasRender(n,r,a);n.restore();}}},y=function(e){if("object"!==t(e)||null===e)return e;if(Array.isArray(e))e.length=0;else for(var i in e)delete e[i];return e},g=Phaser.GameObjects.Shape,k=Phaser.Utils.Array.Remove,S=function(t){n(r,t);var i=u(r);function r(t,s,n,a,h){var u;return e(this,r),void 0===s&&(s=0),void 0===n&&(n=0),void 0===a&&(a=2),void 0===h&&(h=a),(u=i.call(this,t,"rexShapes",[]))._width=-1,u._height=-1,u.dirty=!0,u.isSizeChanged=!0,u.shapes={},u.setPosition(s,n),u.setSize(a,h),u.updateDisplayOrigin(),u}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,e){this.isSizeChanged=this.isSizeChanged||this._width!==t||this._height!==e,this.dirty=this.dirty||this.isSizeChanged,this._width=t,this._height=e,this.updateDisplayOrigin();var i=this.input;return i&&!i.customHitArea&&(i.hitArea.width=t,i.hitArea.height=e),this}},{key:"resize",value:function(t,e){return this.setSize(t,e),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,e){return void 0===e&&(e=1),this.dirty=this.dirty||this.fillColor!==t||this.fillAlpha!==e,this._fillColor=t,this._fillAlpha=e,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,e,i){return void 0===i&&(i=1),this.dirty=this.dirty||this.lineWidth!==t||this.strokeColor!==e||this.strokeAlpha!==i,this._lineWidth=t,this._strokeColor=e,this._strokeAlpha=i,this}},{key:"updateShapes",value:function(){}},{key:"updateData",value:function(){if(!this.dirty)return this;this.updateShapes();for(var t=this.geom,e=0,i=t.length;e<i;e++){var s=t[e];s.dirty&&s.updateData();}return this.isSizeChanged=!1,this.dirty=!1,this}},{key:"clear",value:function(){return this.geom.length=0,y(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 e=t.name;return e&&(this.shapes[e]=t),this.dirty=!0,this}},{key:"deleteShape",value:function(t){var e=this.getShape(t);return e&&(delete this.shapes[t],k(this.geom,e)),this}}]),r}(g);Object.assign(S.prototype,v);var m={setEventEmitter:function(t,e){return void 0===e&&(e=Phaser.Events.EventEmitter),this._privateEE=!0===t||void 0===t,this._eventEmitter=this._privateEE?new e: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):[]}},P=Phaser.Scene,b=function(t){return t instanceof P},D=Phaser.Game,_=function(t){return t instanceof D},w=Phaser.Utils.Objects.GetValue,x=function(){function i(t,s){e(this,i),this.setParent(t),this.isShutdown=!1,this.setEventEmitter(w(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(i,[{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,e){this.destroy(e);}},{key:"setParent",value:function(e){var i;return this.parent=e,this.scene=null==(i=e)||"object"!==t(i)?null:b(i)?i:i.scene&&b(i.scene)?i.scene:i.parent&&i.parent.scene&&b(i.parent.scene)?i.parent.scene:null,this.game=function(e){return null==e||"object"!==t(e)?null:_(e)?e:_(e.game)?e.game:b(e)?e.sys.game:b(e.scene)?e.scene.sys.game:void 0}(e),this}}]),i}();Object.assign(x.prototype,m);var T=Phaser.Utils.Objects.GetValue,R=function(t){n(a,t);var i=u(a);function a(t,s){var n;return e(this,a),(n=i.call(this,t,s))._isRunning=!1,n.isPaused=!1,n.tickingState=!1,n.setTickingMode(T(s,"tickingMode",1)),n}return s(a,[{key:"boot",value:function(){2!==this.tickingMode||this.tickingState||this.startTicking();}},{key:"shutdown",value:function(t){this.isShutdown||(this.stop(),this.tickingState&&this.stopTicking(),o(r(a.prototype),"shutdown",this).call(this,t));}},{key:"setTickingMode",value:function(t){"string"==typeof t&&(t=C[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);}}]),a}(x),C={no:0,lazy:1,always:2},A=Phaser.Utils.Objects.GetValue,E=function(t){n(a,t);var i=u(a);function a(t,s){var n;e(this,a);var r=(n=i.call(this,t,s)).scene?"update":"step";return n.tickEventName=A(s,"tickEventName",r),n.isSceneTicker=!L(n.tickEventName),n}return s(a,[{key:"startTicking",value:function(){o(r(a.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(){o(r(a.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);}}]),a}(R),L=function(t){return "step"===t||"poststep"===t},M=Phaser.Utils.Objects.GetValue,X=Phaser.Math.Clamp,O=function(){function t(i){e(this,t),this.resetFromJSON(i);}return s(t,[{key:"resetFromJSON",value:function(t){this.state=M(t,"state",Y),this.timeScale=M(t,"timeScale",1),this.delay=M(t,"delay",0),this.repeat=M(t,"repeat",0),this.repeatCounter=M(t,"repeatCounter",0),this.repeatDelay=M(t,"repeatDelay",0),this.duration=M(t,"duration",0),this.nowTime=M(t,"nowTime",0),this.justRestart=M(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:j,this.repeatCounter=0,this}},{key:"stop",value:function(){return this.state=Y,this}},{key:"update",value:function(t,e){this.state!==Y&&this.state!==z&&0!==e&&0!==this.timeScale&&(this.nowTime+=e*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=V)):(this.nowTime=this.duration,this.state=z):this.nowTime>=0&&(this.state=B));}},{key:"t",get:function(){var t;switch(this.state){case Y:case j:case V:t=0;break;case B:t=this.nowTime/this.duration;break;case z:t=1;}return X(t,0,1)},set:function(t){(t=X(t,-1,1))<0?(this.state=j,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===Y}},{key:"isDelay",get:function(){return this.state===j}},{key:"isCountDown",get:function(){return this.state===B}},{key:"isRunning",get:function(){return this.state===j||this.state===B}},{key:"isDone",get:function(){return this.state===z}},{key:"isOddIteration",get:function(){return 1==(1&this.repeatCounter)}},{key:"isEvenIteration",get:function(){return 0==(1&this.repeatCounter)}}]),t}(),Y=0,j=1,B=2,V=3,z=-1,I=function(t){n(a,t);var i=u(a);function a(t,s){var n;return e(this,a),(n=i.call(this,t,s)).timer=new O,n}return s(a,[{key:"shutdown",value:function(t){this.isShutdown||(o(r(a.prototype),"shutdown",this).call(this,t),this.timer.destroy(),this.timer=void 0);}},{key:"start",value:function(){return this.timer.start(),o(r(a.prototype),"start",this).call(this),this}},{key:"stop",value:function(){return this.timer.stop(),o(r(a.prototype),"stop",this).call(this),this}},{key:"complete",value:function(){return this.timer.stop(),o(r(a.prototype),"complete",this).call(this),this}}]),a}(E),F=Phaser.Utils.Objects.GetValue,N=Phaser.Utils.Objects.GetAdvancedValue,G=Phaser.Tweens.Builders.GetEaseFunction,U=function(t){n(a,t);var i=u(a);function a(){return e(this,a),i.apply(this,arguments)}return s(a,[{key:"resetFromJSON",value:function(t){return this.timer.resetFromJSON(F(t,"timer")),this.setEnable(F(t,"enable",!0)),this.setTarget(F(t,"target",this.parent)),this.setDelay(N(t,"delay",0)),this.setDuration(N(t,"duration",1e3)),this.setEase(F(t,"ease","Linear")),this.setRepeat(F(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=G(t),this}},{key:"start",value:function(){return this.timer.isRunning||o(r(a.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),o(r(a.prototype),"stop",this).call(this),t&&(this.timer.setT(1),this.updateGameObject(this.target,this.timer),this.complete()),this}},{key:"update",value:function(t,e){if(!this.isRunning||!this.enable||!this.parent.active)return this;var i=this.target,s=this.timer;return s.update(t,e),s.isDelay||this.updateGameObject(i,s),this.emit("update",i,this),s.isDone&&this.complete(),this}},{key:"updateGameObject",value:function(t,e){}}]),a}(I),W=Phaser.Utils.Objects.GetValue,H=Phaser.Math.Linear,J=function(t){n(a,t);var i=u(a);function a(t,s){var n;return e(this,a),(n=i.call(this,t,s)).resetFromJSON(),n.boot(),n}return s(a,[{key:"start",value:function(t){if(this.timer.isRunning)return this;var e=this.target;this.propertyKey=W(t,"key","value");var i=e[this.propertyKey];return this.fromValue=W(t,"from",i),this.toValue=W(t,"to",i),this.setEase(W(t,"ease",this.ease)),this.setDuration(W(t,"duration",this.duration)),this.setRepeat(W(t,"repeat",0)),this.setDelay(W(t,"delay",0)),this.setRepeatDelay(W(t,"repeatDelay",0)),this.timer.setDuration(this.duration).setRepeat(this.repeat).setDelay(this.delay).setRepeatDelay(this.repeatDelay),e[this.propertyKey]=this.fromValue,o(r(a.prototype),"start",this).call(this),this}},{key:"updateGameObject",value:function(t,e){var i=e.t;i=this.easeFn(i),t[this.propertyKey]=H(this.fromValue,this.toValue,i);}}]),a}(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 i=u(r);function r(t,s){var n;e(this,r);var a=K(s,"x",0),h=K(s,"y",0),u=K(s,"width",64),o=K(s,"height",64);(n=i.call(this,t,a,h,u,o)).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}(S);Object.assign(Q.prototype,q);var $={fillStyle:function(t,e){return null==t?this.isFilled=!1:(void 0===e&&(e=1),this.isFilled=!0,this.fillColor=t,this.fillAlpha=e),this},lineStyle:function(t,e,i){return null==t||null==e?this.isStroked=!1:(void 0===i&&(i=1),this.isStroked=!0,this.lineWidth=t,this.strokeColor=e,this.strokeAlpha=i),this}},Z={enableData:function(){return void 0===this.data&&(this.data={}),this},setData:function(t,e){if(this.enableData(),1===arguments.length){var i=t;for(t in i)this.data[t]=i[t];}else this.data[t]=e;return this},getData:function(t,e){return this.enableData(),void 0===t?this.data:function(t,e,i){if(t&&"number"!=typeof t){if(t.hasOwnProperty(e))return t[e];if(-1!==e.indexOf(".")){for(var s=e.split("."),n=t,r=i,a=0;a<s.length;a++){if(!n.hasOwnProperty(s[a])){r=i;break}r=n[s[a]],n=n[s[a]];}return r}return i}return i}(this.data,t,e)},incData:function(t,e,i){return void 0===i&&(i=0),this.enableData(),this.setData(t,this.getData(t,i)+e),this},mulData:function(t,e,i){return void 0===i&&(i=0),this.enableData(),this.setData(t,this.getData(t,i)*e),this},clearData:function(){return this.data&&y(this.data),this}},tt=function(){function t(){e(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,e,i,s,n){}},{key:"canvasRender",value:function(t,e,i){}},{key:"updateData",value:function(){this.dirty=!1;}}]),t}();Object.assign(tt.prototype,$,Z);var et=Phaser.Renderer.WebGL.Utils,it=Phaser.Renderer.WebGL.Utils,st=function(t,e,i,s,n){var r=t.strokeTint,a=it.getTintAppendFloatAlpha(e.strokeColor,e.strokeAlpha*i);r.TL=a,r.TR=a,r.BL=a,r.BR=a;var h=e.pathData,u=h.length-1,o=e.lineWidth,l=o/2,c=h[0]-s,d=h[1]-n;e.closePath||(u-=2);for(var f=2;f<u;f+=2){var p=h[f]-s,v=h[f+1]-n;t.batchLine(c,d,p,v,l,l,o,f-2,!!e.closePath&&f===u-1),c=p,d=v;}},nt=function(t,e,i,s){var n=i||e.fillColor,r=s||e.fillAlpha,a=(16711680&n)>>>16,h=(65280&n)>>>8,u=255&n;t.fillStyle="rgba("+a+","+h+","+u+","+r+")";},rt=function(t,e,i,s){var n=i||e.strokeColor,r=s||e.strokeAlpha,a=(16711680&n)>>>16,h=(65280&n)>>>8,u=255&n;t.strokeStyle="rgba("+a+","+h+","+u+","+r+")",t.lineWidth=e.lineWidth;},at=Phaser.Geom.Polygon.Earcut,ht=function(t){n(a,t);var i=u(a);function a(){var t;return e(this,a),(t=i.call(this)).pathData=[],t.pathIndexes=[],t.closePath=!1,t}return s(a,[{key:"updateData",value:function(){return this.pathIndexes=at(this.pathData),o(r(a.prototype),"updateData",this).call(this),this}},{key:"webglRender",value:function(t,e,i,s,n){this.isFilled&&function(t,e,i,s,n,r){for(var a=et.getTintAppendFloatAlpha(i.fillColor,i.fillAlpha*s),h=i.pathData,u=i.pathIndexes,o=0;o<u.length;o+=3){var l=2*u[o],c=2*u[o+1],d=2*u[o+2],f=h[l+0]-n,p=h[l+1]-r,v=h[c+0]-n,y=h[c+1]-r,g=h[d+0]-n,k=h[d+1]-r,S=e.getX(f,p),m=e.getY(f,p),P=e.getX(v,y),b=e.getY(v,y),D=e.getX(g,k),_=e.getY(g,k);t.batchTri(i,S,m,P,b,D,_,0,0,1,1,a,a,a,2);}}(t,e,this,i,s,n),this.isStroked&&st(t,this,i,s,n);}},{key:"canvasRender",value:function(t,e,i){var s=this.pathData,n=s.length-1,r=s[0]-e,a=s[1]-i;t.beginPath(),t.moveTo(r,a),this.closePath||(n-=2);for(var h=2;h<n;h+=2){var u=s[h]-e,o=s[h+1]-i;t.lineTo(u,o);}this.closePath&&t.closePath(),this.isFilled&&(nt(t,this),t.fill()),this.isStroked&&(rt(t,this),t.stroke());}}]),a}(tt),ut=function(t,e,i){var s=i.length;if(s>=2){var n=i[s-2],r=i[s-1];if(t===n&&e===r)return i}return i.push(t,e),i},ot=Phaser.Math.DegToRad,lt=function(t,e,i,s,n,r,a,h,u){a&&r>n?r-=360:!a&&r<n&&(r+=360);var o=ot(r-n)/h;n=ot(n);for(var l=0;l<=h;l++){var c=n+o*l,d=t+i*Math.cos(c),f=e+s*Math.sin(c);ut(d,f,u);}return u},ct=Phaser.Math.DegToRad,dt=function(t){n(a,t);var i=u(a);function a(t,s,n,r,h,u,o,l){var c;return e(this,a),void 0===t&&(t=0),void 0===s&&(s=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===h&&(h=0),void 0===u&&(u=360),void 0===o&&(o=!1),void 0===l&&(l=!1),(c=i.call(this)).setCenterPosition(t,s),c.setRadius(n,r),c.setAngle(h,u,o),c.setPie(l),c.setIterations(32),c}return s(a,[{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,e){return void 0===e&&(e=t),this.x=t,this.y=e,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,e){return void 0===e&&(e=t),this.radiusX=t,this.radiusY=e,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,e,i){return void 0===i&&(i=!1),this.startAngle=t,this.endAngle=e,this.anticlockwise=i,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),lt(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]),o(r(a.prototype),"updateData",this).call(this),this}},{key:"canvasRender",value:function(t,e,i){t.beginPath();var s=this.x-e,n=this.y-i,r=ct(this.startAngle),a=ct(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,a,this.anticlockwise),this.pie&&t.lineTo(s,n),this.isFilled&&(nt(t,this),t.fill()),this.isStroked&&(rt(t,this),t.stroke());}}]),a}(ht),ft=function(t){n(r,t);var i=u(r);function r(t,s,n){return e(this,r),i.call(this,t,s,n,n,0,360)}return s(r)}(dt),pt=function(t){n(a,t);var i=u(a);function a(t){var s;return e(this,a),(s=i.call(this)).setCurve(t),s.setIterations(32),s}return s(a,[{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),e=0,i=t.length;e<i;e++)this.pathData.push(t[e].x,t[e].y);return this.pathData.push(t[0].x,t[0].y),o(r(a.prototype),"updateData",this).call(this),this}}]),a}(ht),vt=function(t){n(r,t);var i=u(r);function r(t,s,n,a){return e(this,r),i.call(this,t,s,n,a,0,360)}return s(r)}(dt),yt=function(t){n(a,t);var i=u(a);function a(t,s,n,r){var h;return e(this,a),void 0===t&&(t=0),void 0===s&&(s=0),void 0===n&&(n=0),void 0===r&&(r=0),(h=i.call(this)).setP0(t,s),h.setP1(n,r),h}return s(a,[{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,e){return this.x0=t,this.y0=e,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,e){return this.x1=t,this.y1=e,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),o(r(a.prototype),"updateData",this).call(this),this}}]),a}(ht),gt=Phaser.Math.Interpolation.QuadraticBezier,kt=Phaser.Math.Interpolation.CubicBezier,St=function(t){var e=t.length;if(e<2)return t;var i=t[e-2],s=t[e-1];return t.push(i),t.push(s),t},mt={clear:function(){return this.start(),this},start:function(){return this.startAt(),this},startAt:function(t,e){return this.restorePathData(),this.accumulationLengths=void 0,function(t,e,i){i.length=0,null!=t&&i.push(t,e);}(t,e,this.pathData),this.firstPointX=t,this.firstPointY=e,this.lastPointX=t,this.lastPointY=e,this},lineTo:function(t,e,i){return void 0===i&&(i=!1),i&&(t+=this.lastPointX,e+=this.lastPointY),ut(t,e,this.pathData),this.lastPointX=t,this.lastPointY=e,this},verticalLineTo:function(t,e){return this.lineTo(t,this.lastPointY,e),this},horizontalLineTo:function(t,e){return this.lineTo(this.lastPointX,t,e),this},ellipticalArc:function(t,e,i,s,n,r,a){return void 0===a&&(a=!1),lt(t,e,i,s,n,r,a,this.iterations,this.pathData),this.lastPointX=this.pathData[this.pathData.length-2],this.lastPointY=this.pathData[this.pathData.length-1],this},arc:function(t,e,i,s,n,r){return this.ellipticalArc(t,e,i,i,s,n,r),this},quadraticBezierTo:function(t,e,i,s){return function(t,e,i,s,n,r){for(var a=r.length,h=r[a-2],u=r[a-1],o=1,l=n-1;o<=l;o++){var c=o/l;r.push(gt(c,h,t,i),gt(c,u,e,s));}}(t,e,i,s,this.iterations,this.pathData),this.lastPointX=i,this.lastPointY=s,this.lastCX=t,this.lastCY=e,this},smoothQuadraticBezierTo:function(t,e){var i=2*this.lastPointX-this.lastCX,s=2*this.lastPointY-this.lastCY;return this.quadraticBezierTo(i,s,t,e),this},cubicBezierCurveTo:function(t,e,i,s,n,r){return function(t,e,i,s,n,r,a,h){for(var u=h.length,o=h[u-2],l=h[u-1],c=1,d=a-1;c<=d;c++){var f=c/d;h.push(kt(f,o,t,i,n),kt(f,l,e,s,r));}}(t,e,i,s,n,r,this.iterations,this.pathData),this.lastPointX=n,this.lastPointY=r,this.lastCX=i,this.lastCY=s,this},smoothCubicBezierCurveTo:function(t,e,i,s){var n=2*this.lastPointX-this.lastCX,r=2*this.lastPointY-this.lastCY;return this.cubicBezierCurveTo(n,r,t,e,i,s),this},close:function(){var t=this.pathData[0],e=this.pathData[1];return t===this.lastPointX&&e===this.lastPointY||this.lineTo(t,e),this.closePath=!0,this},end:function(){return St(this.pathData),this}},Pt=Phaser.Math.RotateAround,bt=function(t,e,i){for(var s=0,n=i.length-1;s<n;s+=2)i[s]+=t,i[s+1]+=e;return i},Dt=Phaser.Math.DegToRad,_t=Phaser.Math.RotateAround,wt={rotateAround:function(t,e,i){if(0===this.pathData.length)return this;!function(t,e,i,s){for(var n={x:0,y:0},r=0,a=s.length-1;r<a;r+=2)n.x=s[r],n.y=s[r+1],Pt(n,t,e,i),s[r]=n.x,s[r+1]=n.y;}(t,e,i=Dt(i),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};_t(n,t,e,i),this.lastCX=n.x,this.lastCY=n.y;}return this},scale:function(t,e,i,s){if(0===this.pathData.length)return this;if(function(t,e,i,s,n){for(var r=0,a=n.length-1;r<a;r+=2){var h=n[r]-t,u=n[r+1]-e;h*=i,u*=s,n[r]=h+t,n[r+1]=u+e;}}(t,e,i,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-e;n*=i,r*=s,this.lastCX=n+t,this.lastCY=r+e;}return this},offset:function(t,e){return bt(t,e,this.pathData),this}},xt={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,e,i,s){void 0===i&&(i=0),void 0===s&&(s=e.length),t.length=s-i;for(var n=0,r=t.length;n<r;n++)t[n]=e[n+i];}(this.pathData,this.pathDataSave),this.pathDataSave=void 0,this.pathDataSaved=!1,this):this}},Tt=Phaser.Math.Distance.Between,Rt=Phaser.Math.Wrap,Ct=Phaser.Math.Linear,At=function(t,e,i,s,n){if(void 0===s&&(s=i,i=0),(i=Mt(i))!==(s=Mt(s))){var r=e[e.length-1],a=r*i,h=r*s;i<s?Et(t,e,a,h,n):(Et(t,e,a,r,n),Et(t,e,0,h,n)),St(n);}},Et=function(t,e,i,s,n){for(var r=i>0,a=0,h=e.length;a<h;a++){var u=2*a,o=e[a];if(r){if(o<i)continue;if(o==i)r=!1;else {var l=1-(o-i)/(o-e[a-1]);n.push(Lt(t,u-2,u,l)),n.push(Lt(t,u-1,u+1,l)),r=!1;}}if(!(o<=s)){l=1-(o-s)/(o-e[a-1]);n.push(Lt(t,u-2,u,l)),n.push(Lt(t,u-1,u+1,l));break}if(n.push(t[u]),n.push(t[u+1]),o===s)break}},Lt=function(t,e,i,s){var n=t[e],r=t[i];return Ct(n,r,s)},Mt=function(t){return 0===t?0:t%1==0?1:Rt(t,0,1)},Xt={updateAccumulationLengths:function(){if(null==this.accumulationLengths)this.accumulationLengths=[];else if(this.accumulationLengths.length===this.pathData.length/2)return this;for(var t,e,i,s,n=this.accumulationLengths,r=this.pathData,a=0,h=0,u=r.length;h<u;h+=2)i=r[h],s=r[h+1],a+=void 0===t?0:Tt(t,e,i,s),n.push(a),t=i,e=s;return this.totalPathLength=a,this},setDisplayPathSegment:function(t,e){return this.pathDataSaved||(this.updateAccumulationLengths(),this.savePathData()),this.pathData.length=0,At(this.pathDataSave,this.accumulationLengths,t,e,this.pathData),this},appendFromPathSegment:function(t,e,i){var s;void 0===e?(s=this.pathData).push.apply(s,l(t.pathData)):(t.updateAccumulationLengths(),At(t.pathData,t.accumulationLengths,e,i,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}},Ot=Phaser.Geom.Polygon,Yt=function(){function t(i){e(this,t),void 0===i&&(i=[]),this.pathData=i,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,e){void 0===e&&(e=[]);for(var i=0,s=t.length-1;i<s;i+=2)e.push({x:t[i],y:t[i+1]});return e}(this.pathData)}},{key:"toPolygon",value:function(t){return function(t,e){return void 0===e&&(e=new Ot),e.setTo(t),e}(this.pathData,t)}}]),t}();Object.assign(Yt.prototype,mt,wt,xt,Xt,{draw:function(t,e,i){var s=this.toPoints();return e&&t.fillPoints(s,this.closePath,this.closePath),i&&t.strokePoints(s,this.closePath,this.closePath),this}});var jt=function(t){n(r,t);var i=u(r);function r(){var t;return e(this,r),(t=i.call(this)).builder=new Yt(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,e){return this.builder.startAt(t,e),this.dirty=!0,this}},{key:"lineTo",value:function(t,e,i){return this.builder.lineTo(t,e,i),this.dirty=!0,this}},{key:"verticalLineTo",value:function(t,e){return this.builder.verticalLineTo(t,e),this.dirty=!0,this}},{key:"horizontalLineTo",value:function(t,e){return this.builder.horizontalLineTo(t,e),this.dirty=!0,this}},{key:"ellipticalArc",value:function(t,e,i,s,n,r,a){return this.builder.ellipticalArc(t,e,i,s,n,r,a),this.dirty=!0,this}},{key:"arc",value:function(t,e,i,s,n,r){return this.builder.arc(t,e,i,s,n,r),this.dirty=!0,this}},{key:"quadraticBezierTo",value:function(t,e,i,s){return this.builder.quadraticBezierTo(t,e,i,s),this.dirty=!0,this}},{key:"smoothQuadraticBezierTo",value:function(t,e){return this.builder.smoothQuadraticBezierTo(t,e),this.dirty=!0,this}},{key:"cubicBezierCurveTo",value:function(t,e,i,s,n,r){return this.builder.cubicBezierCurveTo(t,e,i,s,n,r),this.dirty=!0,this}},{key:"smoothCubicBezierCurveTo",value:function(t,e,i,s){return this.builder.smoothCubicBezierCurveTo(t,e,i,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,e,i){return this.builder.rotateAround(t,e,i),this.dirty=!0,this}},{key:"scale",value:function(t,e,i,s){return this.builder.scale(t,e,i,s),this.dirty=!0,this}},{key:"offset",value:function(t,e){return this.builder.offset(t,e),this.dirty=!0,this}},{key:"toPolygon",value:function(t){return this.builder.toPolygon(t)}},{key:"appendPathFrom",value:function(t,e,i){return this.builder.appendFromPathSegment(t.builder,e,i),this}},{key:"copyPathFrom",value:function(t,e,i){return this.builder.clear().appendFromPathSegment(t.builder,e,i),this}},{key:"setDisplayPathSegment",value:function(t,e){return this.builder.setDisplayPathSegment(t,e),this}}]),r}(ht),Bt=Phaser.Renderer.WebGL.Utils.getTintAppendFloatAlpha,Vt=function(t){n(a,t);var i=u(a);function a(t,s,n,r){var h;return e(this,a),void 0===t&&(t=0),void 0===s&&(s=0),void 0===n&&(n=0),void 0===r&&(r=n),(h=i.call(this)).pathData=[],h.closePath=!0,h.setTopLeftPosition(t,s),h.setSize(n,r),h}return s(a,[{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,e){return this.x=t,this.y=e,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,e){return this.width=t,this.height=e,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,e){return this.centerX=t,this.centerY=e,this}},{key:"updateData",value:function(){this.pathData.length=0;var t=this.x,e=t+this.width,i=this.y,s=i+this.height;return this.pathData.push(t,i),this.pathData.push(e,i),this.pathData.push(e,s),this.pathData.push(t,s),this.pathData.push(t,i),o(r(a.prototype),"updateData",this).call(this),this}},{key:"webglRender",value:function(t,e,i,s,n){if(this.isFilled){var r=t.fillTint,a=Bt(this.fillColor,this.fillAlpha*i);r.TL=a,r.TR=a,r.BL=a,r.BR=a,t.batchFillRect(-s+this.x,-n+this.y,this.width,this.height);}this.isStroked&&st(t,this,i,s,n);}},{key:"canvasRender",value:function(t,e,i){this.isFilled&&(nt(t,this),t.fillRect(-e,-i,this.width,this.height)),this.isStroked&&(rt(t,this),t.beginPath(),t.rect(-e,-i,this.width,this.height),t.stroke());}}]),a}(tt),zt=Phaser.Utils.Objects.GetValue,It=function(t){n(a,t);var i=u(a);function a(t,s,n,r,h,u){var o;return e(this,a),void 0===t&&(t=0),void 0===s&&(s=0),void 0===n&&(n=0),void 0===r&&(r=n),void 0===h&&(h=0),void 0===u&&(u=6),(o=i.call(this)).setTopLeftPosition(t,s),o.setSize(n,r),o.setRadius(h),o.setIterations(u),o.closePath=!0,o}return s(a,[{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,e){return this.x=t,this.y=e,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,e){return this.width=t,this.height=e,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,e){return this.centerX=t,this.centerY=e,this}},{key:"radiusTL",get:function(){return this._radiusTL},set:function(t){var e=t>0;this.dirty=this.dirty||this._radiusTL!==t||this._convexTL!==e,this._convexTL=e,this._radiusTL=Math.abs(t);}},{key:"radiusTR",get:function(){return this._radiusTR},set:function(t){var e=t>0;this.dirty=this.dirty||this._radiusTR!==t||this._convexTR!==e,this._convexTR=e,this._radiusTR=Math.abs(t);}},{key:"radiusBL",get:function(){return this._radiusBL},set:function(t){var e=t>0;this.dirty=this.dirty||this._radiusBL!==t||this._convexBL!==e,this._convexBL=e,this._radiusBL=Math.abs(t);}},{key:"radiusBR",get:function(){return this._radiusBR},set:function(t){var e=t>0;this.dirty=this.dirty||this._radiusBR!==t||this._convexBR!==e,this._convexBR=e,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=zt(t,"tl",0),this.radiusTR=zt(t,"tr",0),this.radiusBL=zt(t,"bl",0),this.radiusBR=zt(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 e,i=this.width,s=this.height,n=this.iterations+1;(e=this.radiusTL)>0?this._convexTL?lt(e,e,e,e,180,270,!1,n,t):lt(0,0,e,e,90,0,!0,n,t):ut(0,0,t);(e=this.radiusTR)>0?this._convexTR?lt(i-e,e,e,e,270,360,!1,n,t):lt(i,0,e,e,180,90,!0,n,t):ut(i,0,t);(e=this.radiusBR)>0?this._convexBR?lt(i-e,s-e,e,e,0,90,!1,n,t):lt(i,s,e,e,270,180,!0,n,t):ut(i,s,t);(e=this.radiusBL)>0?this._convexBL?lt(e,s-e,e,e,90,180,!1,n,t):lt(0,s,e,e,360,270,!0,n,t):ut(0,s,t);return t.push(t[0],t[1]),bt(this.x,this.y,t),o(r(a.prototype),"updateData",this).call(this),this}}]),a}(ht),Ft=Phaser.Renderer.WebGL.Utils.getTintAppendFloatAlpha,Nt=function(t){n(a,t);var i=u(a);function a(t,s,n,r,h,u){var o;return e(this,a),void 0===t&&(t=0),void 0===s&&(s=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===h&&(h=0),void 0===u&&(u=0),(o=i.call(this)).pathData=[],o.closePath=!0,o.setP0(t,s),o.setP1(n,r),o.setP2(h,u),o}return s(a,[{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,e){return this.x0=t,this.y0=e,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,e){return this.x1=t,this.y1=e,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,e){return this.dirty=this.dirty||this.x2!==t||this.y2!==e,this.x2=t,this.y2=e,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),o(r(a.prototype),"updateData",this).call(this),this}},{key:"webglRender",value:function(t,e,i,s,n){if(this.isFilled){var r=Ft(this.fillColor,this.fillAlpha*i),a=this.x0-s,h=this.y0-n,u=this.x1-s,o=this.y1-n,l=this.x2-s,c=this.y2-n,d=e.getX(a,h),f=e.getY(a,h),p=e.getX(u,o),v=e.getY(u,o),y=e.getX(l,c),g=e.getY(l,c);t.batchTri(d,f,p,v,y,g,r,r,r);}this.isStroked&&st(t,this,i,s,n);}},{key:"canvasRender",value:function(t,e,i){var s=this.x1-e,n=this.y1-i,r=this.x2-e,a=this.y2-i,h=this.x3-e,u=this.y3-i;t.beginPath(),t.moveTo(s,n),t.lineTo(r,a),t.lineTo(h,u),t.closePath(),this.isFilled&&(nt(t,this),t.fill()),this.isStroked&&(rt(t,this),t.stroke());}}]),a}(tt),Gt=Phaser.Math.Linear,Ut=function(t){n(r,t);var i=u(r);function r(t,s){var n;return e(this,r),(n=i.call(this,t,s)).type="rexSpinnerAudio",n}return s(r,[{key:"buildShapes",value:function(){for(var t=0;t<4;t++)this.addShape(new yt);this.prevValue=void 0;}},{key:"updateShapes",value:function(){var t=this.centerX,e=this.centerY,i=this.radius,s=t-i,n=e+i,r=2*i,a=this.getShapes(),h=a.length,u=2*i/h,o=.7*u;if(void 0===this.prevValue||this.prevValue>this.value)for(var l=0;l<h;l++){var c=a[l],d=void 0===this.prevValue?Math.random():c.getData("to");c.setData("from",d).setData("to",Math.random());}this.prevValue=this.value;for(l=0;l<h;l++){d=(c=a[l]).getData("from");var f=c.getData("to"),p=Gt(d,f,this.value)*r,v=s+u*(l+.5);c.lineStyle(o,this.color,1).setP0(v,n).setP1(v,n-p);}}}]),r}(Q),Wt=function(t){return null==t||""===t||0===t.length},Ht=function(e,i,s,n){if(void 0===n&&(n="."),"object"===t(e)){if(Wt(i)){if(null==s)return;"object"===t(s)&&(e=s);}else {"string"==typeof i&&(i=i.split(n));var r=i.pop(),a=function(e,i,s){var n=e;if(Wt(i));else {var r;"string"==typeof i&&(i=i.split("."));for(var a=0,h=i.length;a<h;a++){var u;null!=n[r=i[a]]&&"object"===t(n[r])||(u=a===h-1?void 0===s?{}:s:{},n[r]=u),n=n[r];}}return n}(e,i);a[r]=s;}return e}};d.register("audio",(function(t){var e=new Ut(this.scene,t);return this.scene.add.existing(e),e})),Ht(window,"RexPlugins.Spinner.Audio",Ut);var Jt=function(t,e){return void 0===e&&(e=.5),t<=e?t/=e:t=1-(t-e)/(1-e),t},qt=Phaser.Math.Linear,Kt=function(t){n(r,t);var i=u(r);function r(t,s){var n;return e(this,r),(n=i.call(this,t,s)).type="rexSpinnerBall",n}return s(r,[{key:"buildShapes",value:function(){for(var t=0;t<3;t++)this.addShape(new ft);}},{key:"updateShapes",value:function(){for(var t=this.centerX,e=this.centerY,i=this.radius,s=.1*i,n=Math.ceil(.25*s),r=1-Jt(this.value),a=qt(.3,.9,r)*i,h=this.getShapes(),u=0,o=h.length;u<o;u++){var l=h[u],c=(r=(this.value+u/o)%1,2*Math.PI*r);l.lineStyle(n,this.color).setRadius(s).setCenterPosition(t+Math.cos(c)*a,e+Math.sin(c)*a);}}}]),r}(Q);d.register("ball",(function(t){var e=new Kt(this.scene,t);return this.scene.add.existing(e),e})),Ht(window,"RexPlugins.Spinner.Ball",Kt);var Qt=Phaser.Math.Linear,$t=Phaser.Math.Easing.Expo.In,Zt=function(t){n(r,t);var i=u(r);function r(t,s){var n;return e(this,r),(n=i.call(this,t,s)).type="rexSpinnerBars",n}return s(r,[{key:"buildShapes",value:function(){for(var t=0;t<5;t++){var e=new yt;this.addShape(e);var i=Jt(t/4)/2;e.setData("offset",i);}}},{key:"updateShapes",value:function(){for(var t=this.centerX,e=this.centerY,i=this.radius,s=t-i,n=2*i,r=this.getShapes(),a=r.length,h=2*i/a,u=.7*h,o=0;o<a;o++){var l=r[o],c=(this.value+l.getData("offset"))%1;c=$t(Jt(c));var d=Qt(.4,1,c)*n,f=s+h*(o+.5);l.lineStyle(u,this.color,1).setP0(f,e-d/2).setP1(f,e+d/2);}}}]),r}(Q);d.register("bars",(function(t){var e=new Zt(this.scene,t);return this.scene.add.existing(e),e})),Ht(window,"RexPlugins.Spinner.Bars",Zt);var te=function(t){n(r,t);var i=u(r);function r(t,s){var n;return e(this,r),(n=i.call(this,t,s)).type="rexSpinnerCube",n}return s(r,[{key:"buildShapes",value:function(){this.addShape((new jt).setName("border")),this.addShape((new jt).setName("fill"));}},{key:"updateShapes",value:function(){var t=this.centerX,e=this.centerY,i=.7*this.radius,s=t-i,n=e-i,r=2*i;if(this.getShape("border").lineStyle(2,this.color,1).startAt(s,n).lineTo(r,0,!0).lineTo(0,r,!0).lineTo(-r,0,!0).lineTo(0,-r,!0).close(),this.value<.5){var a=r*(2*(.5-this.value));this.getShape("fill").fillStyle(this.color,1).startAt(s,n).lineTo(r,0,!0).lineTo(0,a,!0).lineTo(-r,0,!0).lineTo(0,-a,!0).close();}else {var h=180*(2*(this.value-.5));this.getShape("border").rotateAround(t,e,h),this.getShape("fill").fillStyle().lineStyle();}}}]),r}(Q);d.register("box",(function(t){var e=new te(this.scene,t);return this.scene.add.existing(e),e})),Ht(window,"RexPlugins.Spinner.Box",te);var ee=Phaser.Math.RadToDeg,ie=Phaser.Math.Angle.WrapDegrees,se=Phaser.Math.Angle.Wrap,ne=Phaser.Math.Angle.ShortestBetween,re=Phaser.Math.DegToRad,ae=Phaser.Math.DegToRad(270),he=function(t){n(r,t);var i=u(r);function r(t,s){var n;return e(this,r),(n=i.call(this,t,s)).type="rexSpinnerClock",n.minuteHandAngle=0,n.hourHandAngle=0,n}return s(r,[{key:"buildShapes",value:function(){this.addShape((new ft).setName("border")),this.addShape((new yt).setName("minuteHand")),this.addShape((new yt).setName("hourHand"));}},{key:"updateShapes",value:function(){var t=this.centerX,e=this.centerY,i=this.radius,s=Math.ceil(i/25),n=i-s/2,r=.8*i,a=.5*i,h=this.minuteHandAngle;this.minuteHandAngle=2*Math.PI*this.value;var u=ie(ee(h)),o=ie(ee(this.minuteHandAngle)),l=ne(u,o);this.hourHandAngle=se(this.hourHandAngle+re(l)/12),this.getShape("border").lineStyle(s,this.color).setRadius(n).setCenterPosition(t,e);var c=this.minuteHandAngle+ae;this.getShape("minuteHand").lineStyle(s,th