internal void OnDestroy() { Util.DebugLog(""); AttachedVessel = null; AppLauncherButton.DestroyToolbarButton(); MainGUI.DeSpawn(); NavBallOverlay.DestroyTransforms(); FlightOverlay.Destroy(); MapOverlay.DestroyRenderer(); Trajectory.Destroy(); DescentProfile.Clear(); }
internal void OnApplicationQuit() { Util.Log("Ending after {0} seconds", Time.time); AttachedVessel = null; AppLauncherButton.Destroy(); MainGUI.Destroy(); NavBallOverlay.Destroy(); FlightOverlay.Destroy(); MapOverlay.Destroy(); Trajectory.Destroy(); DescentProfile.Destroy(); if (Settings != null) { Settings.Destroy(); } Settings = null; }
internal void Update() { if (Util.IsPaused || Settings == null || !Util.IsFlight) { return; } foreach (var vessel in FlightGlobals.VesselsLoaded) { if (vessel.FindPartModuleImplementing <ModuleCommand>() != null && (Settings.MultiTrajectories || vessel == FlightGlobals.ActiveVessel) && LoadedVesselsTrajectories.All(t => t.AttachedVessel != vessel)) { AttachVessel(vessel); } } for (var i = LoadedVesselsTrajectories.Count - 1; i >= 0; i--) { Trajectory trajectory = LoadedVesselsTrajectories[i]; if (trajectory.AttachedVessel.FindPartModuleImplementing <ModuleCommand>() == null || (!Settings.MultiTrajectories && trajectory.AttachedVessel != FlightGlobals.ActiveVessel) || FlightGlobals.VesselsLoaded.All(v => v != trajectory.AttachedVessel)) { trajectory.Destroy(); LoadedVesselsTrajectories.RemoveAt(i); } } foreach (var trajectory in LoadedVesselsTrajectories) { trajectory.Update(); } MainGUI.Update(); }