Files
GdevelopMMOTestv1/Export/layer.js
T

3 lines
4.5 KiB
JavaScript

var gdjs;(function(m){class c extends m.RuntimeLayer{constructor(e,t){super(e,t);this._cameraRotation=0;this._zoomFactor=1;this._cameraZ=0;this._isCameraZDirty=!0;this._defaultCameraBehavior===m.RuntimeLayerDefaultCameraBehavior.TOP_LEFT_ANCHORED_IF_NEVER_MOVED?(this._cameraX=this._runtimeScene.getViewportOriginX(),this._cameraY=this._runtimeScene.getViewportOriginY()):(this._cameraX=(this._runtimeScene.getInitialUnrotatedViewportMinX()+this._runtimeScene.getInitialUnrotatedViewportMaxX())/2,this._cameraY=(this._runtimeScene.getInitialUnrotatedViewportMinY()+this._runtimeScene.getInitialUnrotatedViewportMaxY())/2),this.getCameraType()===m.RuntimeLayerCameraType.ORTHOGRAPHIC&&(this._cameraZ=(this._initialCamera3DFarPlaneDistance+this._initialCamera3DNearPlaneDistance)/2),this._renderer.onCreated()}onGameResolutionResized(e,t){this._defaultCameraBehavior===m.RuntimeLayerDefaultCameraBehavior.TOP_LEFT_ANCHORED_IF_NEVER_MOVED&&Math.abs(this._cameraX-e)<1&&Math.abs(this._cameraY-t)<1&&this._zoomFactor===1&&(this._cameraX+=this._runtimeScene.getViewportOriginX()-e,this._cameraY+=this._runtimeScene.getViewportOriginY()-t),this._renderer.updatePosition(),this._renderer.updateResolution()}getCameraX(e){return this._forceDimensionUpdate(),this._cameraX}getCameraY(e){return this._forceDimensionUpdate(),this._cameraY}setCameraX(e,t){this._forceDimensionUpdate(),this._cameraX=e,this._renderer.updatePosition()}setCameraY(e,t){this._forceDimensionUpdate(),this._cameraY=e,this._renderer.updatePosition()}getCameraWidth(e){return this.getWidth()/this._zoomFactor}getCameraHeight(e){return this.getHeight()/this._zoomFactor}setCameraZoom(e,t){e<=0||(this._zoomFactor=e,this._isCameraZDirty=!0,this._renderer.updatePosition())}getCameraZoom(e){return this._zoomFactor}setCameraZ(e,t,a){if(t){const i=m.toRad(t),r=Math.min(Number.MAX_SAFE_INTEGER,.5*this.getHeight()/(e*Math.tan(.5*i)));r>0&&(this._zoomFactor=r)}this._cameraZ=e,this._isCameraZDirty=!1,this._renderer.updatePosition()}getCameraZ(e,t){return!this._isCameraZDirty||!e?this._cameraZ:.5*this.getHeight()/this.getCameraZoom()/Math.tan(.5*m.toRad(e))}getCameraRotation(e){return this._cameraRotation}setCameraRotation(e,t){this._cameraRotation=e,this._renderer.updatePosition(),this._renderer.invalidateRotation()}getCameraRotationY(e){return this._renderer.getCameraRotationY()}setCameraRotationY(e,t){this._renderer.setCameraRotationY(e)}getCameraRotationX(e){return this._renderer.getCameraRotationX()}setCameraRotationX(e,t){this._renderer.setCameraRotationX(e)}getCameraForwardX(e){return this._renderer.getCameraForwardX()}getCameraForwardY(e){return this._renderer.getCameraForwardY()}getCameraForwardZ(e){return this._renderer.getCameraForwardZ()}getCameraUpX(e){return this._renderer.getCameraUpX()}getCameraUpY(e){return this._renderer.getCameraUpY()}getCameraUpZ(e){return this._renderer.getCameraUpZ()}getCameraRightX(e){return this._renderer.getCameraRightX()}getCameraRightY(e){return this._renderer.getCameraRightY()}getCameraRightZ(e){return this._renderer.getCameraRightZ()}convertCoords(e,t,a=0,i){let r=i||[0,0];if(this._renderer.isCameraRotatedIn3D())return this._renderer.transformTo3DWorld(e,t,0,a,i);e-=this.getRuntimeScene()._cachedGameResolutionWidth/2,t-=this.getRuntimeScene()._cachedGameResolutionHeight/2,e/=this._zoomFactor,t/=this._zoomFactor;const n=this._cameraRotation/180*Math.PI,s=e,o=Math.cos(n),h=Math.sin(n);return e=o*e-h*t,t=h*s+o*t,r[0]=e+this.getCameraX(a),r[1]=t+this.getCameraY(a),r}applyLayerInverseTransformation(e,t,a,i){e-=this._runtimeScene.getViewportOriginX(),t-=this._runtimeScene.getViewportOriginY(),e/=this._zoomFactor,t/=this._zoomFactor;const r=this._cameraRotation/180*Math.PI,n=e,s=Math.cos(r),o=Math.sin(r);return e=s*e-o*t,t=o*n+s*t,i[0]=e+this.getCameraX(a),i[1]=t+this.getCameraY(a),i}convertInverseCoords(e,t,a=0,i){let r=i||[0,0];e-=this.getCameraX(a),t-=this.getCameraY(a);const n=this._cameraRotation/180*Math.PI,s=e,o=Math.cos(-n),h=Math.sin(-n);return e=o*e-h*t,t=h*s+o*t,e*=this._zoomFactor,t*=this._zoomFactor,r[0]=e+this.getRuntimeScene()._cachedGameResolutionWidth/2,r[1]=t+this.getRuntimeScene()._cachedGameResolutionHeight/2,r}applyLayerTransformation(e,t,a,i){e-=this.getCameraX(a),t-=this.getCameraY(a);const r=this._cameraRotation/180*Math.PI,n=e,s=Math.cos(-r),o=Math.sin(-r);return e=s*e-o*t,t=o*n+s*t,e*=this._zoomFactor,t*=this._zoomFactor,e+=this._runtimeScene.getViewportOriginX(),t+=this._runtimeScene.getViewportOriginY(),i[0]=e,i[1]=t,i}_forceDimensionUpdate(){this._runtimeScene.getViewportWidth()}}m.Layer=c})(gdjs||(gdjs={}));
//# sourceMappingURL=layer.js.map