phaser4-rex-plugins
Version:
2 lines (1 loc) • 4.72 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):[]}};const e=Phaser.Scene;var s=function(t){return t instanceof e};const i=Phaser.Game;var n=function(t){return t instanceof i};const r=Phaser.Utils.Objects.GetValue;class h{constructor(t,e){this.setParent(t),this.isShutdown=!1,this.setEventEmitter(r(e,"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))}shutdown(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)}destroy(t){this.shutdown(t)}onEnvDestroy(){this.destroy(!0)}onParentDestroy(t,e){this.destroy(e)}setParent(t){var e;return this.parent=t,this.scene=null==(e=t)||"object"!=typeof e?null:s(e)?e:e.scene&&s(e.scene)?e.scene:e.parent&&e.parent.scene&&s(e.parent.scene)?e.parent.scene:null,this.game=function(t){return null==t||"object"!=typeof t?null:n(t)?t:n(t.game)?t.game:s(t)?t.sys.game:s(t.scene)?t.scene.sys.game:void 0}(t),this}}Object.assign(h.prototype,t);var o=function(t){return null==t?t="":Array.isArray(t)?t=t.join("\n"):"number"==typeof t&&(t=t.toString()),t},a={setText(t){return this._text=o(t),this.updateText(),this},appendText(t){return this.setText(this.text+o(t)),this}},v=function(t,e,s,i){return t.getSubString?t.getSubString(e,s,i):e.slice(s,i)},u=function(t,e,s){return s?t.height<=s:t.width<=e},m={updateText:function(){var t=this.parent;if(this.enable){var e,s,i=t.style&&(0!==t.style.fixedWidth||0!==t.style.fixedHeight);i&&(e=t.style.fixedWidth,s=t.style.fixedHeight,t.setFixedSize(0,0));var n=this.maxWidth;void 0===n&&(n=e);var r=this.maxHeight;if(void 0===r&&(r=s),t.setText(this.text),u(t,n,r))i&&t.setFixedSize(e,s);else for(var h,o=function(t,e){return t.getPlainText&&(e=t.getPlainText(e)),e}(t,this.text).length,a="",m=0;m<o;m++){if(h=v(t,this.text,0,m)+this.symbol,t.setText(h),!u(t,n,r))return i&&(t.style.fixedWidth=e,t.style.fixedHeight=s),void t.setText(a);a=h}}else t.setText(this.text)}};Object.assign(m,a);const l=Phaser.Utils.Objects.GetValue;class d extends h{constructor(t,e){super(t,e),this._text=void 0,this.resetFromJSON(e)}resetFromJSON(t){this.setEnable(l(t,"enable",!0)),this.setSymbol(l(t,"symbol","...")),this.setMaxWidth(l(t,"maxWidth")),this.setMaxHeight(l(t,"maxHeight")),this.setText(l(t,"text"))}setEnable(t){return void 0===t&&(t=!0),this.enable=t,this}setSymbol(t){return this.symbol=t,this}setMaxWidth(t){return this.maxWidth=t,this}setMaxHeight(t){return this.maxHeight=t,this}set text(t){this.setText(t)}get text(){return this._text}}Object.assign(d.prototype,m);class E extends Phaser.Plugins.BasePlugin{constructor(t){super(t)}start(){this.game.events.on("destroy",this.destroy,this)}add(t,e){return new d(t,e)}}return E},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).rextexttruncatorplugin=e();