/*************************************************************************************************************************/ public void DebugGUI(int windowID) { GUILayout.BeginVertical(); GUILayout.Space(10); //GUI.Toggle(new Rect(5, 3, 25, 25), plugin_active, " "); GUILayout.BeginHorizontal(); if (GUILayout.Button("print savefile", button_small, GUILayout.Width(132))) { write_save_values_to_file(); } if (GUILayout.Button("read savefile", button_small, GUILayout.Width(132))) { load_save_file(); } GUILayout.EndHorizontal(); GUILayout.Space(5); if (GUILayout.Button("mark bug", button_small, GUILayout.Width(115))) { Log.info("##################### BUG MARKER #####################"); } GUILayout.Space(5); debug_message[0] = _SAVE_Switched_To_Savefile; debug_message[1] = loaded_vessels.Count.ToString(); //debug_message[2] = ""; //debug_message[3] = ""; //debug_message[4] = ""; //debug_message[5] = ""; //debug_message[6] = ""; //debug_message[7] = ""; //debug_message[8] = ""; //debug_message[9] = ""; //debug_message[10] = ""; //debug_message[11] = ""; //debug_message[12] = ""; //debug_message[13] = ""; //debug_message[14] = ""; //debug_message[15] = ""; //debug_message[16] = ""; //debug_message[17] = ""; //debug_message[18] = ""; //debug_message[19] = ""; foreach (string temp_string in debug_message) { if (temp_string != "") { GUILayout.Box(temp_string, text_main, GUILayout.Width(266)); } } GUILayout.EndVertical(); GUI.DragWindow(new Rect(0, 0, 10000, 20)); }
private void LoadAndDisplay(string f) { if (!loaded) { Load(f); loaded = true; } int imgcnt = 0; string l = ""; foreach (string line in lines) { if (line.Length >= 7 && line.Substring(0, 7) == "<IMAGE=") { if (l.Length > 0) { GUILayout.BeginHorizontal(); GUILayout.Label(l); GUILayout.EndHorizontal(); l = ""; } if (imgcnt <= images.Count) { GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUILayout.Box(images[imgcnt], GUILayout.Width(images[imgcnt].width + 10), GUILayout.Height(images[imgcnt].height + 10)); GUILayout.FlexibleSpace(); imgcnt++; GUILayout.EndHorizontal(); } } else { if (l == "") { l = line; } else { l += "\n" + line; } } } if (l.Length > 0) { GUILayout.BeginHorizontal(); GUILayout.Label(l); GUILayout.EndHorizontal(); l = ""; } }
private void WindowFunc(int windowID) { planeConfig = Settings.CurrentPlaneConfig; landerConfig = Settings.CurrentLanderConfig; ConfigureStyles(); // begin drawing GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); { GUILayout.Box(Util.audio.GetKindOfSoundRTF(), boxStyle, GUILayout.Height(30)); drawConfigUI(); } GUILayout.EndVertical(); GUILayout.EndHorizontal(); GUI.DragWindow(); // allow moving window }
/*************************************************************************************************************************/ public void MainGUI(int windowID) { List <string> save_files = new List <string>(); Vessel temp_vessel; string temp_string; Guid guid_delete_vessel = FlightGlobals.ActiveVessel.id; bool delete_vessel = false; float scrollbar_size; bool scrollbar_enable = false; float window_height, window_width, scrollbar_width_offset; window_height = 60; window_width = 280; GUILayout.BeginVertical(); GUILayout.BeginHorizontal(); if (!_SETTING_Minimize) { if (_SAVE_Has_Launched) { GUILayout.Box("Mission Time: " + get_time_string(Planetarium.GetUniversalTime() - _SAVE_Launched_At), text_main, GUILayout.Width(188)); } else { GUILayout.Box("Mission Time: " + "00:00", text_main, GUILayout.Width(137)); } } else { GUILayout.Space(5); } if (_SETTING_Armed) { temp_string = "Armed"; } else { temp_string = "Arm"; } if (!_SAVE_Has_Launched) { _SETTING_Armed = GUILayout.Toggle(_SETTING_Armed, temp_string, button_small, GUILayout.Width(50)); } else if (_SETTING_Minimize) { GUILayout.Box("Flight", text_main, GUILayout.Width(50)); } if (!_SETTING_Minimize) { show_setting = GUILayout.Toggle(show_setting, buttonContent, button_small, GUILayout.Width(25)); if (show_setting) { buttonContent = upContent; } else { buttonContent = downContent; } } _SETTING_Minimize = GUILayout.Toggle(_SETTING_Minimize, "_", button_small, GUILayout.Width(25)); if (really_close && _SETTING_Minimize) { _SETTING_Minimize = false; } if (!_SETTING_Minimize) { really_close = GUILayout.Toggle(really_close, "x", button_small, GUILayout.Width(25)); } else { window_width = 105; } GUILayout.EndHorizontal(); if (really_close) { if (_SAVE_Has_Launched) { GUILayout.Space(5); window_height += 5; GUILayout.Box("Plugin will be reset!", text_heading, GUILayout.Width(266)); window_height += 29; GUILayout.Box("Close?", text_heading, GUILayout.Width(266)); GUILayout.BeginHorizontal(); if (GUILayout.Button("YES", button_big, GUILayout.Width(132))) { close_FMRS(); } if (GUILayout.Button("NO", button_big, GUILayout.Width(133))) { really_close = false; } GUILayout.EndHorizontal(); window_height += 58; } else { close_FMRS(); } } if (really_close == false && _SETTING_Minimize == false && show_setting == true) { GUILayout.Space(5); window_height += 5; GUILayout.BeginVertical(/* area_style ,*/ GUILayout.Width(266)); GUILayout.Space((5 * 30) + 5); _SETTING_Messages = GUI.Toggle(new Rect(5, 35 + (30 * 1), 25, 25), _SETTING_Messages, "Messaging System"); window_height += 30; _SETTING_Auto_Cut_Off = GUI.Toggle(new Rect(5, 35 + (30 * 2), 25, 25), _SETTING_Auto_Cut_Off, "Auto Cut Off Engines"); window_height += 30; _SETTING_Auto_Recover = GUI.Toggle(new Rect(5, 35 + (30 * 3), 25, 25), _SETTING_Auto_Recover, "Auto Recover Landed Crafts"); window_height += 30; _SETTING_Throttle_Log = GUI.Toggle(new Rect(5, 35 + (30 * 4), 25, 25), _SETTING_Throttle_Log, "Throttle Logger WIP"); window_height += 30; Timer_Stage_Delay = GUI.HorizontalSlider(new Rect(45, 35 + (30 * 6) + 15, 205, 25), Timer_Stage_Delay, 0.2f, 5.0f); window_height += 45; GUI.Label(new Rect(20, 35 + (30 * 7), 225, 25), "Stage Save Delay: " + Timer_Stage_Delay.ToString("F1")); GUILayout.EndVertical(); window_height += 42; } if (really_close == false && _SETTING_Minimize == false && show_setting == false) { if (Vessels_dropped.Count > 0) { GUILayout.Space(5); window_height += 5; GUILayout.Box("Separated Stages:", text_heading, GUILayout.Width(266)); window_height += 33; foreach (KeyValuePair <Guid, string> temp_keyvalue in Vessels_dropped) { if (!save_files.Contains(temp_keyvalue.Value)) { save_files.Add(temp_keyvalue.Value); } } save_files.Sort(delegate(string x, string y) { return(get_save_value(save_cat.SAVEFILE, y).CompareTo(get_save_value(save_cat.SAVEFILE, x))); }); nr_save_files = save_files.Count; scrollbar_size = nr_save_files * 61; scrollbar_size += (Vessels_dropped.Count - nr_save_files) * 25; if (_SAVE_Switched_To_Dropped && can_q_save_load) { scrollbar_size += 43; } if (scrollbar_size > 225) { scrollbar_enable = true; scroll_Vector = GUILayout.BeginScrollView(scroll_Vector, scrollbar_stlye, GUILayout.Width(266), GUILayout.Height(225)); GUILayout.BeginVertical(); window_height += 220; scrollbar_width_offset = 0; } else { GUILayout.BeginVertical(/* area_style, */ GUILayout.Width(266)); window_height += scrollbar_size; scrollbar_width_offset = 20; } while (save_files.Count != 0) { GUILayout.Space(5); GUILayout.BeginVertical(); // area_style); if (save_files.Last().Contains("separated_")) { GUILayout.Box("Separated at " + get_time_string(Convert.ToDouble(get_save_value(save_cat.SAVEFILE, save_files.Last())) - _SAVE_Launched_At), text_main, GUILayout.Width(230 + scrollbar_width_offset)); } else { GUILayout.Box("Stage " + save_files.Last().Substring(10) + " separated at " + get_time_string(Convert.ToDouble(get_save_value(save_cat.SAVEFILE, save_files.Last())) - _SAVE_Launched_At), text_main, GUILayout.Width(230 + scrollbar_width_offset)); } foreach (KeyValuePair <Guid, string> vessel_in_savefile in Vessels_dropped) { if (FMRS_SAVE_Util.Instance.jumpInProgress) { GUI.enabled = false; } if (vessel_in_savefile.Value == save_files.Last()) { GUILayout.BeginHorizontal(); if (get_vessel_state(vessel_in_savefile.Key) == vesselstate.RECOVERED) { GUILayout.Box(Vessels_dropped_names[vessel_in_savefile.Key] + " recovered", text_cyan, GUILayout.Width(205 + scrollbar_width_offset)); } else if (get_vessel_state(vessel_in_savefile.Key) == vesselstate.LANDED) { GUILayout.Box(Vessels_dropped_names[vessel_in_savefile.Key] + " landed", text_green, GUILayout.Width(205 + scrollbar_width_offset)); } else if (vessel_in_savefile.Key == FlightGlobals.ActiveVessel.id || vessel_in_savefile.Key == anz_id) { float temp_float = 230 + scrollbar_width_offset; if (can_q_save_load) { GUILayout.EndHorizontal(); GUILayout.Space(5); GUILayout.BeginVertical(/* area_style, */ GUILayout.Width(230)); temp_float = 222 + scrollbar_width_offset; } if (FlightGlobals.ActiveVessel.LandedOrSplashed) { GUILayout.Box(Vessels_dropped_names[vessel_in_savefile.Key] + " landed", text_green, GUILayout.Width(temp_float)); } else { GUILayout.Box("contr.: " + Vessels_dropped_names[vessel_in_savefile.Key], text_yellow, GUILayout.Width(temp_float)); } if (can_q_save_load) { if (GUILayout.Button("Jump back to Separation", button_main, GUILayout.Width(222 + scrollbar_width_offset))) { jump_to_vessel(vessel_in_savefile.Key, false); } GUILayout.EndVertical(); GUILayout.Space(5); GUILayout.BeginHorizontal(); } } else if (get_vessel_state(vessel_in_savefile.Key) == vesselstate.DESTROYED) { GUILayout.Box(Vessels_dropped_names[vessel_in_savefile.Key] + " destroyed", text_red, GUILayout.Width(205 + scrollbar_width_offset)); } else { temp_vessel = FlightGlobals.Vessels.Find(p => p.id == vessel_in_savefile.Key); if (temp_vessel == null) { if (GUILayout.Button(Vessels_dropped_names[vessel_in_savefile.Key], button_main, GUILayout.Width(205 + scrollbar_width_offset))) { jump_to_vessel(vessel_in_savefile.Key, true); } } else { if (loaded_vessels.Contains(temp_vessel.id) && _SAVE_Switched_To_Dropped) { if (temp_vessel.LandedOrSplashed) { if (GUILayout.Button(Vessels_dropped_names[vessel_in_savefile.Key] + " landed", button_green, GUILayout.Width(205 + scrollbar_width_offset))) { FlightGlobals.ForceSetActiveVessel(temp_vessel); } } else { if (GUILayout.Button(Vessels_dropped_names[vessel_in_savefile.Key] + " is near", button_yellow, GUILayout.Width(205 + scrollbar_width_offset))) { FlightGlobals.ForceSetActiveVessel(temp_vessel); } } } else { if (GUILayout.Button(Vessels_dropped_names[vessel_in_savefile.Key], button_main, GUILayout.Width(205 + scrollbar_width_offset))) { jump_to_vessel(vessel_in_savefile.Key, true); } } } } if (vessel_in_savefile.Key != FlightGlobals.ActiveVessel.id && vessel_in_savefile.Key != anz_id) { if (GUILayout.Button("X", button_small_red, GUILayout.Width(25))) { guid_delete_vessel = vessel_in_savefile.Key; delete_vessel = true; } } GUILayout.EndHorizontal(); button_main.normal.textColor = button_main.focused.textColor = Color.white; } GUI.enabled = true; } GUILayout.EndVertical(); temp_string = save_files.Last(); save_files.Remove(temp_string); } if (scrollbar_enable) { GUILayout.EndVertical(); GUILayout.EndScrollView(); } else { GUILayout.EndVertical(); } } if (_SAVE_Switched_To_Dropped) { GUILayout.Space(5); window_height += 5; if (FMRS_SAVE_Util.Instance.jumpInProgress) { GUI.enabled = false; } if (GUILayout.Button("Jump back to Main Mission", button_big, GUILayout.Width(266))) { jump_to_vessel("Main"); } GUI.enabled = true; window_height += 31; } if (_SAVE_Has_Launched && can_restart) { GUILayout.Space(5); window_height += 5; if (FMRS_SAVE_Util.Instance.jumpInProgress) { GUI.enabled = false; } if (revert_to_launch) { GUILayout.Box("Revert Flight?", text_heading, GUILayout.Width(266)); GUILayout.BeginHorizontal(); if (GUILayout.Button("YES", button_big, GUILayout.Width(132))) { // _SETTING_Enabled = false; jump_to_vessel(_SAVE_Main_Vessel, "before_launch"); } if (GUILayout.Button("NO", button_big, GUILayout.Width(133))) { revert_to_launch = false; } GUILayout.EndHorizontal(); window_height += 58; } else { if (_SAVE_Flight_Reset) { revert_to_launch = GUILayout.Toggle(revert_to_launch, "Revert To Plugin Start", button_big, GUILayout.Width(266)); } else { revert_to_launch = GUILayout.Toggle(revert_to_launch, "Revert To Launch", button_big, GUILayout.Width(266)); } window_height += 31; } GUI.enabled = true; } } GUILayout.EndVertical(); if (delete_vessel && guid_delete_vessel != FlightGlobals.ActiveVessel.id) { delete_dropped_vessel(guid_delete_vessel); } windowPos.height = window_height; // windowPos.width = window_width; GUI.DragWindow(); }