Files
GdevelopMMOTestv1/Export/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js
T

3 lines
6.4 KiB
JavaScript
Raw Normal View History

2026-07-28 10:47:32 -04:00
var gdjs;(function(n){class p{constructor(t,o,e,r){this._wasRendered=!1;this._textureWidth=0;this._textureHeight=0;this._object=t;const s=o.getGame().getImageManager().getPIXITexture(e),i=r?PIXI.TilingSprite:PIXI.Sprite;this._spritesContainer=new PIXI.Container,this._wrapperContainer=new PIXI.Container,this._centerSprite=new i(new PIXI.Texture(s.baseTexture)),this._borderSprites=[new i(new PIXI.Texture(s.baseTexture)),new PIXI.Sprite(new PIXI.Texture(s.baseTexture)),new i(new PIXI.Texture(s.baseTexture)),new PIXI.Sprite(new PIXI.Texture(s.baseTexture)),new i(new PIXI.Texture(s.baseTexture)),new PIXI.Sprite(new PIXI.Texture(s.baseTexture)),new i(new PIXI.Texture(s.baseTexture)),new PIXI.Sprite(new PIXI.Texture(s.baseTexture))],this.setTexture(e,o),this._spritesContainer.removeChildren(),this._spritesContainer.addChild(this._centerSprite);for(let h=0;h<this._borderSprites.length;++h)this._spritesContainer.addChild(this._borderSprites[h]);this._wrapperContainer.addChild(this._spritesContainer),o.getLayer("").getRenderer().addRendererObject(this._wrapperContainer,t.getZOrder())}getRendererObject(){return this._wrapperContainer}ensureUpToDate(){if(this._spritesContainer.visible&&this._wasRendered&&this._centerSprite.texture.baseTexture.scaleMode!==PIXI.SCALE_MODES.NEAREST){const t=this._spritesContainer.worldAlpha>=1;this._spritesContainer.cacheAsBitmap=t}this._wasRendered=!0}updateOpacity(){this._wrapperContainer.alpha=this._object.opacity/255}updateAngle(){this._wrapperContainer.rotation=n.toRad(this._object.angle)}updatePosition(){this._wrapperContainer.position.x=this._object.x+this._object._width/2,this._wrapperContainer.position.y=this._object.y+this._object._height/2}_updateLocalPositions(){const t=this._object;this._centerSprite.width=Math.max(t._width-t._rBorder-t._lBorder,0),this._centerSprite.height=Math.max(t._height-t._tBorder-t._bBorder,0);let o=t._lBorder,e=t._rBorder;this._centerSprite.width===0&&t._lBorder+t._rBorder>0&&(o=t._width*t._lBorder/(t._lBorder+t._rBorder),e=t._width-o);let r=t._tBorder,s=t._bBorder;this._centerSprite.height===0&&t._tBorder+t._bBorder>0&&(r=t._height*t._tBorder/(t._tBorder+t._bBorder),s=t._height-r),this._borderSprites[0].width=e,this._borderSprites[0].height=Math.max(t._height-r-s,0),this._borderSprites[2].height=r,this._borderSprites[2].width=Math.max(t._width-e-o,0),this._borderSprites[4].width=o,this._borderSprites[4].height=Math.max(t._height-r-s,0),this._borderSprites[6].height=s,this._borderSprites[6].width=Math.max(t._width-e-o,0),this._borderSprites[1].width=e,this._borderSprites[1].height=r,this._borderSprites[3].width=o,this._borderSprites[3].height=r,this._borderSprites[5].width=o,this._borderSprites[5].height=s,this._borderSprites[7].width=e,this._borderSprites[7].height=s,this._wasRendered=!0,this._spritesContainer.cacheAsBitmap=!1;const i=o,h=r,d=t._width-e,_=t._height-s;this._centerSprite.position.x=i,this._centerSprite.position.y=h,this._borderSprites[0].position.x=d,this._borderSprites[0].position.y=h,this._borderSprites[1].position.x=d,this._borderSprites[1].position.y=0,this._borderSprites[2].position.x=i,this._borderSprites[2].position.y=0,this._borderSprites[3].position.x=0,this._borderSprites[3].position.y=0,this._borderSprites[4].position.x=0,this._borderSprites[4].position.y=h,this._borderSprites[5].position.x=0,this._borderSprites[5].position.y=_,this._borderSprites[6].position.x=i,this._borderSprites[6].position.y=_,this._borderSprites[7].position.x=d,this._borderSprites[7].position.y=_}setTexture(t,o){const e=this._object,r=o.getGame().getImageManager().getPIXITexture(t).baseTexture;this._textureWidth=r.width,this._textureHeight=r.height;function s(i){return i.width<0&&(i.width=0),i.height<0&&(i.height=0),i.x<0&&(i.x=0),i.y<0&&(i.y=0),i.x>r.width&&(i.x=r.width),i.y>r.height&&(i.y=r.height),i.x+i.width>r.width&&(i.width=r.width-i.x),i.y+i.height>r.height&&(i.height=r.height-i.y),i}this._centerSprite.texture.destroy(!1),this._centerSprite.texture=new PIXI.Texture(r,s(new PIXI.Rectangle(e._lBorder,e._tBorder,r.width-e._lBorder-e._rBorder,r.height-e._tBorder
//# sourceMappingURL=panelspriteruntimeobject-pixi-renderer.js.map