Files
bdu-source/src/Extensions/DestroyOutsideBehavior/destroyoutsideruntimebehavior.js
2026-02-12 19:51:45 -07:00

3 lines
1.5 KiB
JavaScript

var gdjs;(function(o){class B extends o.RuntimeBehavior{constructor(e,n,s){super(e,n,s);this._extraBorder=n.extraBorder||0,this._unseenGraceDistance=n.unseenGraceDistance||0,this._hasBeenOnScreen=!1}applyBehaviorOverriding(e){return e.extraBorder!==void 0&&(this._extraBorder=e.extraBorder),e.unseenGraceDistance!==void 0&&(this._unseenGraceDistance=e.unseenGraceDistance),!0}doStepPostEvents(e){const n=this.owner.getWidth(),s=this.owner.getHeight(),a=this.owner.getDrawableX()+this.owner.getCenterX(),i=this.owner.getDrawableY()+this.owner.getCenterY(),t=e.getLayer(this.owner.getLayer()),r=Math.sqrt(n*n+s*s)/2,c=t.getCameraX()-t.getCameraWidth()/2,h=t.getCameraX()+t.getCameraWidth()/2,u=t.getCameraY()-t.getCameraHeight()/2,d=t.getCameraY()+t.getCameraHeight()/2;a+r+this._extraBorder<c||a-r-this._extraBorder>h||i+r+this._extraBorder<u||i-r-this._extraBorder>d?this._hasBeenOnScreen?this.owner.deleteFromScene():(a+r+this._unseenGraceDistance<c||a-r-this._unseenGraceDistance>h||i+r+this._unseenGraceDistance<u||i-r-this._unseenGraceDistance>d)&&this.owner.deleteFromScene():this._hasBeenOnScreen=!0}setExtraBorder(e){this._extraBorder=e}getExtraBorder(){return this._extraBorder}setUnseenGraceDistance(e){this._unseenGraceDistance=e}getUnseenGraceDistance(){return this._unseenGraceDistance}hasBeenOnScreen(){return this._hasBeenOnScreen}}o.DestroyOutsideRuntimeBehavior=B,o.registerBehavior("DestroyOutsideBehavior::DestroyOutside",o.DestroyOutsideRuntimeBehavior)})(gdjs||(gdjs={}));
//# sourceMappingURL=destroyoutsideruntimebehavior.js.map