var gdjs;(function(n){class r extends n.RuntimeObject{constructor(t,e){super(t,e);this._isUntransformedHitBoxesDirty=!0;this._untransformedHitBoxes=[];this._unrotatedAABB={min:[0,0],max:[0,0]};this._scaleX=1;this._scaleY=1;this._flippedX=!1;this._flippedY=!1;this.opacity=255;this._customCenter=null;this._localTransformation=new n.AffineTransformation;this._localInverseTransformation=new n.AffineTransformation;this._isLocalTransformationDirty=!0;this._instanceContainer=new n.CustomRuntimeObjectInstanceContainer(t,this),this._instanceContainer.loadFrom(e),this.getRenderer().reinitialize(this,t)}reinitialize(t){super.reinitialize(t),this._instanceContainer.loadFrom(t),this.getRenderer().reinitialize(this,this.getParent()),this.onCreated()}updateFromObjectData(t,e){return this._instanceContainer.updateFrom(t,e)}extraInitializationFromInitialInstance(t){t.customSize&&(this.setWidth(t.width),this.setHeight(t.height))}onDeletedFromScene(t){this.onDestroy(t),super.onDeletedFromScene(t),this._instanceContainer.onDestroyFromScene(t)}update(t){this._instanceContainer._updateObjectsPreEvents(),this.doStepPreEvents(t);const e=this.getRuntimeScene().getProfiler();e&&e.begin(this.type),this.doStepPostEvents(t),e&&e.end(this.type),this._instanceContainer._updateObjectsPostEvents()}onHotReloading(t){}doStepPreEvents(t){}doStepPostEvents(t){}onDestroy(t){}updatePreRender(t){this._instanceContainer._updateObjectsPreRender(),this.getRenderer().ensureUpToDate()}getRendererObject(){return this.getRenderer().getRendererObject()}getRenderer(){return this._instanceContainer.getRenderer()}onChildrenLocationChanged(){this._isUntransformedHitBoxesDirty=!0,this.invalidateHitboxes(),this.getRenderer().update()}updateHitBoxes(){this._isUntransformedHitBoxesDirty&&this._updateUntransformedHitBoxes();const t=this.getLocalTransformation();for(let e=0;e=this.hitBoxes.length&&this.hitBoxes.push(new n.Polygon);for(let i=0;i=this.hitBoxes[e].vertices.length&&this.hitBoxes[e].vertices.push([0,0]),t.transform(this._untransformedHitBoxes[e].vertices[i],this.hitBoxes[e].vertices[i]);this.hitBoxes[e].vertices.length=this._untransformedHitBoxes[e].vertices.length}}_updateUntransformedHitBoxes(){if(this._isUntransformedHitBoxesDirty=!1,this._untransformedHitBoxes.length=0,this._instanceContainer.getAdhocListOfAllInstances().length===0)this._unrotatedAABB.min[0]=0,this._unrotatedAABB.min[1]=0,this._unrotatedAABB.max[0]=0,this._unrotatedAABB.max[1]=0;else{let t=Number.MAX_VALUE,e=Number.MAX_VALUE,i=-Number.MAX_VALUE,s=-Number.MAX_VALUE;for(const a of this._instanceContainer.getAdhocListOfAllInstances()){if(!a.isIncludedInParentCollisionMask())continue;Array.prototype.push.apply(this._untransformedHitBoxes,a.getHitBoxes());const o=a.getAABB();t=Math.min(t,o.min[0]),e=Math.min(e,o.min[1]),i=Math.max(i,o.max[0]),s=Math.max(s,o.max[1])}for(this._unrotatedAABB.min[0]=t,this._unrotatedAABB.min[1]=e,this._unrotatedAABB.max[0]=i,this._unrotatedAABB.max[1]=s;this.hitBoxes.length255&&(t=255),this.opacity=t,this.getRenderer().updateOpacity()}getOpacity(){return this.opacity}hide(t){t===void 0&&(t=!0),this.hidden=t,this.getRenderer().updateVisibility()}flipX(t){t!==this._flippedX&&(this._scaleX*=-1,this._flippedX=t,this.invalidateHitboxes(),this.getRenderer().update())}flipY(t){t!==this._flippedY&&(this._scaleY*=-1,this._flippedY=t,this.invalidateHitboxes(),this.getRenderer().update())}isFlippedX(){return this._flippedX}isFlippedY(){return this._flippedY}}n.CustomRuntimeObject=r,r.supportsReinitialization=!1})(gdjs||(gdjs={})); //# sourceMappingURL=CustomRuntimeObject.js.map