UNPKG

diginext-pixi

Version:
1 lines 5.42 kB
"use strict";var _InteractItem_instances,_InteractItem__onDragMove,_InteractItem__onDragEnd,_InteractItem_awake,__createBinding=this&&this.__createBinding||(Object.create?function(t,e,i,n){void 0===n&&(n=i);var r=Object.getOwnPropertyDescriptor(e,i);r&&!("get"in r?!e.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return e[i]}}),Object.defineProperty(t,n,r)}:function(t,e,i,n){void 0===n&&(n=i),t[n]=e[i]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),__importStar=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)"default"!==i&&Object.prototype.hasOwnProperty.call(t,i)&&__createBinding(e,t,i);return __setModuleDefault(e,t),e},__awaiter=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,a){function o(t){try{c(n.next(t))}catch(t){a(t)}}function s(t){try{c(n.throw(t))}catch(t){a(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(o,s)}c((n=n.apply(t,e||[])).next())}))},__classPrivateFieldGet=this&&this.__classPrivateFieldGet||function(t,e,i,n){if("a"===i&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?n:"a"===i?n.call(t):n?n.value:e.get(t)},__classPrivateFieldSet=this&&this.__classPrivateFieldSet||function(t,e,i,n,r){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!r)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?r.call(t,i):r?r.value=i:e.set(t,i),i},__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});const PIXI=__importStar(require("pixi.js")),Event_1=__importDefault(require("../data/Event")),ContainerExtend_1=__importDefault(require("../core/ContainerExtend"));class InteractItem extends ContainerExtend_1.default{constructor(t){super(Object.assign(Object.assign({},t),{canInteractive:!0})),_InteractItem_instances.add(this),this.isDebug=!1,this.interactive=!0,this.cursor="pointer",this.isDragging=!1,this.initPos=new PIXI.Point,_InteractItem__onDragMove.set(this,void 0),_InteractItem__onDragEnd.set(this,void 0),this.lock=!1,__classPrivateFieldGet(this,_InteractItem_instances,"m",_InteractItem_awake).call(this)}onLoaded(){}onDragStart(t){var e;const i=null===(e=window.uData)||void 0===e?void 0:e.app;if(!i)return;const n=i.stage;if(!n)return;if(!this.interactive)return;if(!this.canInteractive)return;this.isDragging=!0,this.alpha=.5,this.initPos.copyFrom(this.position);const r=this.parent.toLocal(t.global,void 0);this.initPos.x-=r.x,this.initPos.y-=r.y,__classPrivateFieldSet(this,_InteractItem__onDragMove,this.onDragMove.bind(this),"f"),n.on("pointermove",__classPrivateFieldGet(this,_InteractItem__onDragMove,"f"))}onDragMove(t){if(this.interactive&&this.canInteractive&&this.isDragging){t.global;const e=(new PIXI.Point).copyFrom(this.position),i=this.parent.toLocal(t.global,void 0);e.x=i.x+this.initPos.x,e.y=i.y+this.initPos.y,this.position.copyFrom(e),this.emit(Event_1.default.MOVE,{x:this.x,y:this.y}),this.debug()}}onDragEnd(){var t;const e=null===(t=window.uData)||void 0===t?void 0:t.app;if(!e)return;const i=e.stage;i&&(this.isDragging&&(this.isDragging=!1),this.alpha=1,i.off("pointermove",__classPrivateFieldGet(this,_InteractItem__onDragMove,"f")))}debug(){this.isDebug&&console.log(`\n this.position.set(${this.x}, ${this.y})\n `)}doLock(){this.lock=!0,this.canInteractive=!1,this.interactive=!1,this.cursor="default",this.hitArea=new PIXI.Polygon([])}doUnlock(){this.lock=!1,this.canInteractive=!0,this.interactive=!0,this.cursor="pointer",this.hitArea=null}dispose(){var t;const e=null===(t=window.uData)||void 0===t?void 0:t.app;if(!e)return;const i=e.stage;i&&(__classPrivateFieldGet(this,_InteractItem__onDragMove,"f")&&i.off("pointermove",__classPrivateFieldGet(this,_InteractItem__onDragMove,"f")),i.off("pointerup",__classPrivateFieldGet(this,_InteractItem__onDragEnd,"f")),i.off("pointerupoutside",__classPrivateFieldGet(this,_InteractItem__onDragEnd,"f")),this.removeFromParent())}}exports.default=InteractItem,_InteractItem__onDragMove=new WeakMap,_InteractItem__onDragEnd=new WeakMap,_InteractItem_instances=new WeakSet,_InteractItem_awake=function(){var t;return __awaiter(this,void 0,void 0,(function*(){const e=null===(t=window.uData)||void 0===t?void 0:t.app;if(!e)return;const i=e.stage;if(i){if(this.props.url){let t;t="string"==typeof this.props.url?yield PIXI.Texture.fromURL(this.props.url):this.props.url,this.sprite=new PIXI.Sprite(t),this.sprite.anchor.set(.5),this.addChild(this.sprite)}this.on("pointerdown",this.onDragStart),i.interactive=!0,i.hitArea=e.screen,__classPrivateFieldSet(this,_InteractItem__onDragEnd,this.onDragEnd.bind(this),"f"),i.on("pointerup",__classPrivateFieldGet(this,_InteractItem__onDragEnd,"f")),i.on("pointerupoutside",__classPrivateFieldGet(this,_InteractItem__onDragEnd,"f")),this.onLoaded&&this.onLoaded(),this.emit(Event_1.default.LOADED)}}))};