public void FixedUpdate()
 {
     if (FlightGlobals.ready && FlightGlobals.Vessels != null)
     {
         KJRAnalyzer.Update();
     }
 }
        private void Awake()
        {
            LoadConfigXml();

            KJRAnalyzer.OnLoad(ShowKSPJoints | ShowAdditionalJointToParent | ShowMultiPartJointTreeChildren | ShowMultiPartJointTreeChildrenRoot);

            Logger.Log("[NewGUI] awake, Mode: " + AddonName);

            if ((HighLogic.LoadedScene != GameScenes.FLIGHT) && (HighLogic.LoadedScene != GameScenes.SPACECENTER))
            {
                _instance = null;
                return;
            }

            _instance = this;

            GameEvents.onGameSceneLoadRequested.Add(OnGameSceneLoadRequestedForAppLauncher);
            GameEvents.onGUIApplicationLauncherReady.Add(AddAppLauncherButton);

            Logger.Log("[GUI] Added Toolbar GameEvents Handlers", Logger.Level.Debug);

            GameEvents.onShowUI.Add(OnShowUI);
            GameEvents.onHideUI.Add(OnHideUI);

            Logger.Log("[GUI] awake finished successfully", Logger.Level.Debug);
        }
        private void OnVesselDestroy(Vessel v)
        {
            easingVessels.Remove(v);

            updatedVessels.Remove(v);

#if IncludeAnalyzer
            KJRAnalyzer.Clear(v);
#endif
        }
        private void OnVesselCreate(Vessel v)
        {
            multiJointManager.RemoveAllVesselJoints(v);

            updatedVessels.Remove(v);

#if IncludeAnalyzer
            KJRAnalyzer.WasModified(v);
#endif
        }
        IEnumerator RunVesselJointUpdateFunctionDelayed(Vessel v)
        {
            yield return(new WaitForFixedUpdate());

            updatingVessels.Remove(v);

            RunVesselJointUpdateFunction(v);

#if IncludeAnalyzer
            KJRAnalyzerJoint.RunVesselJointUpdateFunction(v);

            KJRAnalyzer.WasModified(v);
#endif
        }