phaser4-rex-plugins
Version:
2 lines (1 loc) • 4.96 kB
JavaScript
var t,e;t=void 0,e=function(){var t={setEventEmitter(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(){return this._eventEmitter&&this._privateEE&&this._eventEmitter.shutdown(),this},getEventEmitter(){return this._eventEmitter},on(){return this._eventEmitter&&this._eventEmitter.on.apply(this._eventEmitter,arguments),this},once(){return this._eventEmitter&&this._eventEmitter.once.apply(this._eventEmitter,arguments),this},off(){return this._eventEmitter&&this._eventEmitter.off.apply(this._eventEmitter,arguments),this},emit(t){return this._eventEmitter&&t&&this._eventEmitter.emit.apply(this._eventEmitter,arguments),this},addListener(){return this._eventEmitter&&this._eventEmitter.addListener.apply(this._eventEmitter,arguments),this},removeListener(){return this._eventEmitter&&this._eventEmitter.removeListener.apply(this._eventEmitter,arguments),this},removeAllListeners(){return this._eventEmitter&&this._eventEmitter.removeAllListeners.apply(this._eventEmitter,arguments),this},listenerCount(){return this._eventEmitter?this._eventEmitter.listenerCount.apply(this._eventEmitter,arguments):0},listeners(){return this._eventEmitter?this._eventEmitter.listeners.apply(this._eventEmitter,arguments):[]},eventNames(){return this._eventEmitter?this._eventEmitter.eventNames.apply(this._eventEmitter,arguments):[]}},e=function(t,e,i){if(!t||"number"==typeof t)return i;if("string"==typeof e){if(t.hasOwnProperty(e))return t[e];if(-1===e.indexOf("."))return i;e=e.split(".")}for(var s=e,n=t,r=i,h=0;h<s.length;h++){if(e=s[h],!n.hasOwnProperty(e)){r=i;break}n=r=n[e]}return r},i=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];return t},s=/^\s*-?(\d*\.?\d+|\d+\.?\d*)(e[-+]?\d+)?\s*$/i,n=/^0x[0-9A-F]+$/i,r=function(t){if("string"!=typeof t)return t;if(""===t)t=null;else if(s.test(t))t=parseFloat(t);else if(n.test(t))t=parseInt(t,16);else switch(t){case"false":t=!1;break;case"true":t=!0;break;case"null":t=null;break;case"undefined":t=void 0}return t},h=function(t,i,s){var n,r,a=e(s,"reverse",!1);if(r=t[0],"[object Array]"===Object.prototype.toString.call(r))if(a)for(p=(d=t.length)-1;p>=0;p--)n=h(t[p],i,s);else for(var p=0,d=t.length;p<d;p++)n=h(t[p],i,s);else n=o(t,i,s);return n},o=function(t,s,n){var h,o=e(n,"argsConvert",void 0),p=e(n,"argsConvertScope",void 0),d=t[0];if(a=i(a,t,1),o){!0===o&&(o=r,p=void 0);for(var m=0,v=a.length;m<v;m++)a[m]=p?o.call(p,a[m],t):o(a[m],t)}return"string"==typeof d?null==(h=s[d])&&(h=e(s,d,null)):h=d,h.apply(s,a)},a=[];class p{constructor(t){this.setEventEmitter(e(t,"eventEmitter",void 0)),this.commands=[],this.scope=void 0,this.config=void 0,this.index=0,this.indexStep=1,this.setYoyo(e(t,"yoyo",!1)),this.setRepeat(e(t,"repeat",0)),this.setLoop(e(t,"loop",!1)),this.state=0,this.task=void 0}shutdown(){this.stop(),this.destroyEventEmitter(),this.commands.length=0,this.scope=void 0,this.config=void 0}destroy(){this.shutdown()}load(t,s,n){return this.stop(),this.setYoyo(e(n,"yoyo",this.yoyo)),this.setRepeat(e(n,"repeat",this.repeat)),this.setLoop(e(n,"loop",this.loop)),this.commands=i(this.commands,t),this.scope=s,this.config=n,this}start(){return this.stop(),this.resetRepeatCount(),this.index=0,this.indexStep=1,this.state=1,this.commands.length>0?this.runNextCommands():this.complete(),this}stop(){return this.task&&(this.task.off("complete",this.runNextCommands,this),this.task=void 0),this.state=0,this}setYoyo(t){return void 0===t&&(t=!0),this.yoyo=t,this}setRepeat(t){return this.repeat=t,this.resetRepeatCount(),this}setLoop(t){return void 0===t&&(t=!0),this.loop=t,this.resetRepeatCount(),this}resetRepeatCount(){return this.repeatCount=-1===this.repeat||this.loop?999999999999:this.repeat,this}get completed(){return 3===this.state}get currentCommandIndex(){return this.index-1}runNextCommands(){for(var t,e,i;;){if(2===this.state)return void this.complete();if((t=h(this.commands[this.index],this.scope))&&"function"==typeof t.once?(t.once("complete",this.runNextCommands,this),this.task=t):this.task=void 0,e=0===this.index,i=this.index===this.commands.length-1,this.yoyo?this.indexStep>0&&i||this.indexStep<0&&e?(this.indexStep=-this.indexStep,this.index+=this.indexStep,this.repeatCount>0?this.repeatCount--:this.state=2):this.index+=this.indexStep:i?(this.index=0,this.repeatCount>0?this.repeatCount--:this.state=2):this.index+=this.indexStep,this.task)return this}}complete(){this.state=3,this.emit("complete",this.scope,this)}}Object.assign(p.prototype,t);class d extends Phaser.Plugins.BasePlugin{constructor(t){super(t)}start(){this.game.events.on("destroy",this.destroy,this)}add(t){return new p(t)}}return d},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).rexsequenceplugin=e();