protected override void RenderWindow(int window_id) { using (new UnityEngine.GUILayout.VerticalScope()) { if (!adapter_.PluginRunning()) { UnityEngine.GUILayout.Label( text: Localizer.Format("#Principia_MainWindow_PluginNotStarted"), style: Style.Warning(UnityEngine.GUI.skin.label)); } if (DateTimeOffset.Now > next_release_date_) { if (Versioning.version_minor <= 7) { UnityEngine.GUILayout.TextArea( Localizer.Format( "#Principia_MainWindow_NewMoonAnnouncementWithKspDeprecation", next_release_lunation_number_, next_release_name_, "1.8.1"), style: Style.Multiline(UnityEngine.GUI.skin.textArea)); } else { UnityEngine.GUILayout.TextArea( Localizer.Format("#Principia_MainWindow_NewMoonAnnouncement", next_release_lunation_number_, next_release_name_), style: Style.Multiline(UnityEngine.GUI.skin.textArea)); } } Interface.GetVersion(build_date: out string _, version: out string version); UnityEngine.GUILayout.Label(version, style: Style.Info( UnityEngine.GUI.skin.label)); history_length_.Render(enabled: true); if (MapView.MapIsEnabled && FlightGlobals.ActiveVessel?.orbitTargeter != null) { show_selection_ui_ = true; using (new UnityEngine.GUILayout.HorizontalScope()) { selecting_active_vessel_target = UnityEngine.GUILayout.Toggle( selecting_active_vessel_target, Localizer.Format("#Principia_MainWindow_TargetVessel_Select")); if (selecting_active_vessel_target) { selecting_target_celestial_ = false; } if (FlightGlobals.fetch.VesselTarget?.GetVessel()) { UnityEngine.GUILayout.Label( Localizer.Format("#Principia_MainWindow_TargetVessel_Name", FlightGlobals.fetch.VesselTarget.GetVessel(). vesselName), UnityEngine.GUILayout.ExpandWidth(true)); if (UnityEngine.GUILayout.Button( Localizer.Format( "#Principia_MainWindow_TargetVessel_Clear"), GUILayoutWidth(2))) { selecting_active_vessel_target = false; FlightGlobals.fetch.SetVesselTarget(null); } if (UnityEngine.GUILayout.Button( Localizer.Format( "#Principia_MainWindow_TargetVessel_SwitchTo"))) { var focus_object = new KSP.UI.Screens.Mapview.MapContextMenuOptions.FocusObject( FlightGlobals.fetch.VesselTarget.GetVessel().orbitDriver); focus_object.onOptionSelected(); } } } } else { // This will remove the "Select" UI so it must shrink. if (show_selection_ui_) { show_selection_ui_ = false; Shrink(); } selecting_active_vessel_target = false; } // The plugin is destroyed, e.g., when using the "Switch To" button. Wait // until it's back alive to display information that requires to cross the // interface. if (adapter_.PluginRunning()) { plotting_frame_selector_.RenderButton(); using (new UnityEngine.GUILayout.HorizontalScope()) { flight_planner_.RenderButton(); orbit_analyser_.RenderButton(); } RenderToggleableSection( name: Localizer.Format("#Principia_MainWindow_PredictionSettings"), show: ref show_prediction_settings_, render: RenderPredictionSettings); } RenderToggleableSection( name: Localizer.Format("#Principia_MainWindow_KspFeatures"), show: ref show_ksp_features_, render: RenderKSPFeatures); RenderToggleableSection( name: Localizer.Format("#Principia_MainWindow_LoggingSettings"), show: ref show_logging_settings_, render: RenderLoggingSettings); } UnityEngine.GUI.DragWindow(); }
protected override void RenderWindow(int window_id) { using (new UnityEngine.GUILayout.VerticalScope()) { if (plugin == IntPtr.Zero) { UnityEngine.GUILayout.Label( text: "Plugin is not started", style: Style.Warning(UnityEngine.GUI.skin.label)); } if (DateTimeOffset.Now > next_release_date_) { UnityEngine.GUILayout.TextArea( "Announcement: the new moon of lunation number " + next_release_lunation_number_ + " has come; please download the latest Principia release, " + next_release_name_ + "."); } Interface.GetVersion(build_date: out string unused_build_date, version: out string version); UnityEngine.GUILayout.Label( version, style: Style.Info(UnityEngine.GUI.skin.label)); bool changed_history_length = false; RenderSelector(history_lengths_, ref history_length_index_, "Max history length", ref changed_history_length, "{0:0.00e00} s"); if (MapView.MapIsEnabled && FlightGlobals.ActiveVessel?.orbitTargeter != null) { show_selection_ui = true; using (new UnityEngine.GUILayout.HorizontalScope()) { selecting_active_vessel_target = UnityEngine.GUILayout.Toggle( selecting_active_vessel_target, "Select target vessel..."); if (selecting_active_vessel_target) { selecting_target_celestial_ = false; } if (FlightGlobals.fetch.VesselTarget?.GetVessel()) { UnityEngine.GUILayout.Label( "Target: " + FlightGlobals.fetch.VesselTarget.GetVessel().vesselName, UnityEngine.GUILayout.ExpandWidth(true)); if (UnityEngine.GUILayout.Button("Clear", GUILayoutWidth(2))) { selecting_active_vessel_target = false; FlightGlobals.fetch.SetVesselTarget(null); } if (UnityEngine.GUILayout.Button("Switch To")) { var focus_object = new KSP.UI.Screens.Mapview.MapContextMenuOptions.FocusObject( FlightGlobals.fetch.VesselTarget.GetVessel().orbitDriver); focus_object.onOptionSelected(); } } } } else { // This will remove the "Select" UI so it must shrink. if (show_selection_ui) { show_selection_ui = false; Shrink(); } selecting_active_vessel_target = false; } if (plugin != IntPtr.Zero) { plotting_frame_selector_.RenderButton(); flight_planner_.RenderButton(); } RenderToggleableSection(name: "Prediction Settings", show: ref show_prediction_settings_, render: RenderPredictionSettings); RenderToggleableSection(name: "KSP Features", show: ref show_ksp_features_, render: RenderKSPFeatures); RenderToggleableSection(name: "Logging Settings", show: ref show_logging_settings_, render: RenderLoggingSettings); } UnityEngine.GUI.DragWindow(); }
protected override void RenderWindow(int window_id) { using (new UnityEngine.GUILayout.VerticalScope()) { if (!adapter_.PluginRunning()) { UnityEngine.GUILayout.Label( text: "Plugin is not started", style: Style.Warning(UnityEngine.GUI.skin.label)); } if (DateTimeOffset.Now > next_release_date_) { if (Versioning.version_minor <= 7) { UnityEngine.GUILayout.TextArea( "Announcement: the new moon of lunation number " + next_release_lunation_number_ + " has come; please update KSP to version 1.8.1 and download " + "the latest Principia release, " + next_release_name_ + ". " + "Note that RealismOverhaul and RealSolarSystem now support " + "KSP 1.8.1.", style: Style.Multiline(UnityEngine.GUI.skin.textArea)); } else { UnityEngine.GUILayout.TextArea( "Announcement: the new moon of lunation number " + next_release_lunation_number_ + " has come; please download the latest Principia release, " + next_release_name_ + ".", style: Style.Multiline(UnityEngine.GUI.skin.textArea)); } } Interface.GetVersion(build_date: out string _, version: out string version); UnityEngine.GUILayout.Label( version, style: Style.Info(UnityEngine.GUI.skin.label)); history_length_.Render(enabled: true); if (MapView.MapIsEnabled && FlightGlobals.ActiveVessel?.orbitTargeter != null) { show_selection_ui_ = true; using (new UnityEngine.GUILayout.HorizontalScope()) { selecting_active_vessel_target = UnityEngine.GUILayout.Toggle( selecting_active_vessel_target, "Select target vessel..."); if (selecting_active_vessel_target) { selecting_target_celestial_ = false; } if (FlightGlobals.fetch.VesselTarget?.GetVessel()) { UnityEngine.GUILayout.Label( "Target: " + FlightGlobals.fetch.VesselTarget.GetVessel().vesselName, UnityEngine.GUILayout.ExpandWidth(true)); if (UnityEngine.GUILayout.Button("Clear", GUILayoutWidth(2))) { selecting_active_vessel_target = false; FlightGlobals.fetch.SetVesselTarget(null); } if (UnityEngine.GUILayout.Button("Switch To")) { var focus_object = new KSP.UI.Screens.Mapview.MapContextMenuOptions.FocusObject( FlightGlobals.fetch.VesselTarget.GetVessel().orbitDriver); focus_object.onOptionSelected(); } } } } else { // This will remove the "Select" UI so it must shrink. if (show_selection_ui_) { show_selection_ui_ = false; Shrink(); } selecting_active_vessel_target = false; } // The plugin is destroyed, e.g., when using the "Switch To" button. Wait // until it's back alive to display information that requires to cross the // interface. if (adapter_.PluginRunning()) { plotting_frame_selector_.RenderButton(); using (new UnityEngine.GUILayout.HorizontalScope()) { flight_planner_.RenderButton(); orbit_analyser_.RenderButton(); } RenderToggleableSection(name: "Prediction Settings", show: ref show_prediction_settings_, render: RenderPredictionSettings); } RenderToggleableSection(name: "KSP Features", show: ref show_ksp_features_, render: RenderKSPFeatures); RenderToggleableSection(name: "Logging Settings", show: ref show_logging_settings_, render: RenderLoggingSettings); } UnityEngine.GUI.DragWindow(); }