public PhysicsCalcs(Vessel vessel, FARVesselAero vesselAerodynamics)
        {
            _vessel = vessel;
            _vesselAero = vesselAerodynamics;

            PartResourceLibrary resLibrary = PartResourceLibrary.Instance;
            PartResourceDefinition r = resLibrary.resourceDefinitions["IntakeAir"];
            if (r != null)
            {
                intakeAirId = r.id;
                intakeAirDensity = r.density;
            }
        }
        void Start()
        {
            if (!CompatibilityChecker.IsAllCompatible())
            {
                this.enabled = false;
                return;
            }

            _vessel = GetComponent<Vessel>();
            _vesselAero = GetComponent<FARVesselAero>();
            _physicsCalcs = new PhysicsCalcs(_vessel, _vesselAero);
            _flightStatusGUI = new FlightStatusGUI();
            _stabilityAugmentation = new StabilityAugmentation(_vessel);
            _flightDataGUI = new FlightDataGUI();
            _aeroVizGUI = new AeroVisualizationGUI();

            settingsWindow = new GUIDropDown<int>(new string[4]{"Flt Data","Stab Aug", "Air Spd","Aero Viz"}, new int[4]{0,1,2,3}, 0);
            //boxStyle.padding = new RectOffset(4, 4, 4, 4);

            if (vesselFlightGUI.ContainsKey(_vessel))
                vesselFlightGUI[_vessel] = this;
            else
                vesselFlightGUI.Add(_vessel, this);

            this.enabled = true;

            if (FARDebugValues.useBlizzyToolbar)
            {
                GenerateBlizzyToolbarButton();
            }
            else
                OnGUIAppLauncherReady();

            activeFlightGUICount++;

            if(_vessel == FlightGlobals.ActiveVessel)
                LoadConfigs();

            GameEvents.onShowUI.Add(ShowUI);
            GameEvents.onHideUI.Add(HideUI);
        }