/* * Main window */ private void HandleMainWindow(int windowID) { GUIStyle _settingsToggleGroupStyle = new GUIStyle(GUI.skin.toggle); _settingsToggleGroupStyle.margin.left += 40; //save Window Position _config.MainWindowXPosition = (int)_editorMainWindow.xMin; _config.MainWindowYPosition = (int)_editorMainWindow.yMin; GUILayout.BeginVertical(); GUILayout.EndVertical(); GUILayout.BeginVertical(); if (GUILayout.Button(Constants.guiSettingsGUIContent, GUILayout.MaxWidth(160))) { _mainWindowsSettingsMode = !_mainWindowsSettingsMode; } //Settings if (_mainWindowsSettingsMode) { _editorMainWindow.height = Constants.guiMainWindowHSettingsExpanded; _settingsScrollPosition = GUILayout.BeginScrollView(_settingsScrollPosition); _config.includeAllNodes = GUILayout.Toggle(_config.includeAllNodes, Constants.guiAllNodesGUIContent); Welder.includeAllNodes = _config.includeAllNodes; _config.dontProcessMasslessParts = GUILayout.Toggle(_config.dontProcessMasslessParts, Constants.guiDontProcessMasslessPartsGUIContent); Welder.dontProcessMasslessParts = _config.dontProcessMasslessParts; _config.dataBaseAutoReload = GUILayout.Toggle(_config.dataBaseAutoReload, Constants.guiDbAutoReloadGUIContent); _config.useNamedCfgFile = GUILayout.Toggle(_config.useNamedCfgFile, Constants.guiUseNamedCfgFileGUIContent); _config.advancedDebug = GUILayout.Toggle(_config.advancedDebug, Constants.guiAdvancedDebugGUIContent); _config.clearEditor = GUILayout.Toggle(_config.clearEditor, Constants.guiClearEditorGUIContent); _config.fileSimplification = GUILayout.Toggle(_config.fileSimplification, Constants.guiFileSimplificationGUIContent); Welder.fileSimplification = _config.fileSimplification; GUILayout.Space(10.0f); GUILayout.Label(" Vector Precision: " + _config.precisionDigits); _config.precisionDigits = (int)GUILayout.HorizontalSlider(_config.precisionDigits, 1, 6); Welder.precisionDigits = _config.precisionDigits; GUILayout.Space(10.0f); GUILayout.Label("Strength params calculation method"); // _config.StrengthCalcMethod = (StrengthParamsCalcMethod)GUILayout.SelectionGrid((int)_config.StrengthCalcMethod, Constants.StrengthParamsCalcMethodsGUIContent, 1, GUILayout.MaxWidth(140)); foreach (StrengthParamsCalcMethod method in Enum.GetValues(typeof(StrengthParamsCalcMethod))) { if (GUILayout.Toggle((_config.StrengthCalcMethod == method), Constants.StrengthParamsCalcMethodsGUIContent[(int)method], _settingsToggleGroupStyle)) { _config.StrengthCalcMethod = method; Welder.StrengthCalcMethod = method; } } GUILayout.Space(10.0f); GUILayout.Label("MaxTemp calculation method"); // _config.MaxTempCalcMethod = (MaxTempCalcMethod)GUILayout.SelectionGrid((int)_config.MaxTempCalcMethod, Constants.MaxTempCalcMethodsGUIContent, 1, GUILayout.MaxWidth(140)); foreach (MaxTempCalcMethod method in Enum.GetValues(typeof(MaxTempCalcMethod))) { if (GUILayout.Toggle((_config.MaxTempCalcMethod == method), Constants.MaxTempCalcMethodsGUIContent[(int)method], _settingsToggleGroupStyle)) { _config.MaxTempCalcMethod = method; Welder.MaxTempCalcMethod = method; } } GUILayout.EndScrollView(); // GUILayout.Space(10.0f); if (GUILayout.Button(Constants.guiSaveSettingsButtonGUIContent, GUILayout.MaxWidth(160))) { FileManager.saveConfig(_config); _config = FileManager.loadConfig(); } } else { _editorMainWindow.height = Constants.guiMainWindowH; GUILayout.Space(20.0f); } //SelectPArtbranch button if (GUILayout.RepeatButton(Constants.guiSelectPartGUIContent, GUILayout.MaxWidth(160))) { this.state = DisplayState.partSelection; } //Weld button if (GUILayout.Button(Constants.guiWeldItButtonGUIContent, GUILayout.MaxWidth(160))) { FileManager.saveConfig(_config); if (EditorLockManager.isEditorLocked()) { if (_selectedPartbranch == null) { _selectedPartbranch = EditorLogic.RootPart; } repositionPreWeldment(_selectedPartbranch); weldPart(_selectedPartbranch); } } if (GUILayout.Button(Constants.guiCloseGUIContent, GUILayout.MaxWidth(160))) { closeMainwindow(); } //Hints area GUILayout.TextArea(GUI.tooltip, GUILayout.ExpandHeight(true), GUILayout.MaxHeight(100)); GUIStyle VersionLabelGUIStyle = new GUIStyle(GUI.skin.label); VersionLabelGUIStyle.fontSize = 12; GUILayout.Label(Constants.logVersion, VersionLabelGUIStyle); GUILayout.EndVertical(); GUI.DragWindow(); } //private void OnMainWindow()
public void MorseSettingsWindow(int id) { GUILayout.BeginVertical(); morseSettings.morseCodeStr = GUILayout.TextField(morseSettings.morseCodeStr); GUILayout.BeginHorizontal(); if (GUILayout.Button(/*Dit*/ Localizer.Format("#autoLOC_CL_0029") + " (.)")) { morseSettings.morseCodeStr += "."; } if (GUILayout.Button(/*"Dah*/ Localizer.Format("#autoLOC_CL_0032") + " (_)")) { morseSettings.morseCodeStr += "_"; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (GUILayout.Button(/*"Letter Space */ Localizer.Format("#autoLOC_CL_0036") + " ( )")) { morseSettings.morseCodeStr += " "; } if (GUILayout.Button(/*"Word Space*/ Localizer.Format("#autoLOC_CL_0038") + " (|)")) { morseSettings.morseCodeStr += "|"; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(/*"Dih duration :"*/ Localizer.Format("#autoLOC_CL_0030")); if (GUILayout.Button("--")) { morseSettings.ditDuration -= .1f; UpdateTiming(); } if (GUILayout.Button("-")) { morseSettings.ditDuration -= .01f; UpdateTiming(); } GUILayout.Label(morseSettings.ditDuration.ToString()); if (GUILayout.Button("+")) { morseSettings.ditDuration += .01f; UpdateTiming(); } if (GUILayout.Button("++")) { morseSettings.ditDuration += .1f; UpdateTiming(); } GUILayout.EndHorizontal(); morseSettings.manualTiming = GUILayout.Toggle(morseSettings.manualTiming, /*"Manual Timing"*/ Localizer.Format("#autoLOC_CL_0031")); GUILayout.BeginHorizontal(); GUILayout.Label(/*"Dah duration :"*/ Localizer.Format("#autoLOC_CL_0033")); if (GUILayout.Button("--")) { if (morseSettings.manualTiming) { morseSettings.dahDuration -= .1f; } } if (GUILayout.Button("-")) { if (morseSettings.manualTiming) { morseSettings.dahDuration -= .01f; } } GUILayout.Label(morseSettings.dahDuration.ToString()); if (GUILayout.Button("+")) { if (morseSettings.manualTiming) { morseSettings.dahDuration += .01f; } } if (GUILayout.Button("++")) { if (morseSettings.manualTiming) { morseSettings.dahDuration += .1f; } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(/*"Symbol Space :"*/ Localizer.Format("#autoLOC_CL_0034")); if (GUILayout.Button("--")) { if (morseSettings.manualTiming) { morseSettings.symbolSpaceDuration -= .1f; } } if (GUILayout.Button("-")) { if (morseSettings.manualTiming) { morseSettings.symbolSpaceDuration -= .01f; } } GUILayout.Label(morseSettings.symbolSpaceDuration.ToString()); if (GUILayout.Button("+")) { if (morseSettings.manualTiming) { morseSettings.symbolSpaceDuration += .01f; } } if (GUILayout.Button("++")) { if (morseSettings.manualTiming) { morseSettings.symbolSpaceDuration += .1f; } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(/*"Letter Space :"*/ Localizer.Format("#autoLOC_CL_0036")); if (GUILayout.Button("--")) { if (morseSettings.manualTiming) { morseSettings.letterSpaceDuration -= .1f; } } if (GUILayout.Button("-")) { if (morseSettings.manualTiming) { morseSettings.letterSpaceDuration -= .01f; } } GUILayout.Label(morseSettings.letterSpaceDuration.ToString()); if (GUILayout.Button("+")) { if (morseSettings.manualTiming) { morseSettings.letterSpaceDuration += .01f; } } if (GUILayout.Button("++")) { if (morseSettings.manualTiming) { morseSettings.letterSpaceDuration += .1f; } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(/*"Word Space :"*/ Localizer.Format("#autoLOC_CL_0038")); if (GUILayout.Button("--")) { if (morseSettings.manualTiming) { morseSettings.wordSpaceDuration -= .1f; } } if (GUILayout.Button("-")) { if (morseSettings.manualTiming) { morseSettings.wordSpaceDuration -= .01f; } } GUILayout.Label(morseSettings.wordSpaceDuration.ToString()); if (GUILayout.Button("+")) { if (morseSettings.manualTiming) { morseSettings.wordSpaceDuration += .01f; } } if (GUILayout.Button("++")) { if (morseSettings.manualTiming) { morseSettings.wordSpaceDuration += .1f; } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (GUILayout.Button(/*"Cancel"*/ Localizer.Format("#autoLOC_CL_0079"))) { CloseSettings(); } if (GUILayout.Button(/*"Morse Alphabet"*/ Localizer.Format("#autoLOC_CL_0078"))) { showAlphabetWindow = !showAlphabetWindow; } if (GUILayout.Button(/*"Apply"*/ Localizer.Format("#autoLOC_CL_0080"))) { ApplySettings(); } GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUI.DragWindow(); }
private void Window(int id) { if (!cfgWinData) { cfgWinData = true; // newScreenshotAtIntervals = AS.configuration.screenshotAtIntervals; newInterval = AS.configuration.screenshotInterval; interval = newInterval.ToString(); newConvertToJPG = AS.configuration.convertToJPG; newKeepOrginalPNG = AS.configuration.keepOrginalPNG; newNoGUIOnScreenshot = AS.configuration.noGUIOnScreenshot; newGUIOnScreenshot = AS.configuration.guiOnScreenshot; newScreenshotPath = AS.configuration.screenshotPath; newFilename = AS.configuration.filename; newJPGQuality = AS.configuration.JPGQuality; JPGQuality = newJPGQuality.ToString(); newScreenshotOnSceneChange = AS.configuration.screenshotOnSceneChange; newOnSpecialEvent = AS.configuration.onSpecialEvent; newKeycode = AS.configuration.keycode; newprecrashSnapshots = AS.configuration.precrashSnapshots; newsecondsUntilImpact = AS.configuration.secondsUntilImpact; newhsAltitudeLimit = AS.configuration.hsAltitudeLimit; newhsMinVerticalSpeed = AS.configuration.hsMinVerticalSpeed; newhsScreenshotInterval = AS.configuration.hsScreenshotInterval; secondsUntilImpact = AS.configuration.secondsUntilImpact.ToString(); hsAltitudeLimit = AS.configuration.hsAltitudeLimit.ToString(); hsMinVerticalSpeed = AS.configuration.hsMinVerticalSpeed.ToString(); hsScreenshotInterval = AS.configuration.hsScreenshotInterval.ToString(); newsupersize = AS.configuration.supersize; strsupersize = AS.configuration.supersize.ToString(); newautoSave = AS.configuration.autoSave; newminBetweenSaves = AS.configuration.minBetweenSaves; minBetweenSaves = AS.configuration.minBetweenSaves.ToString(); newsavePrefix = AS.configuration.savePrefix; newnumToRotate = AS.configuration.numToRotate; numToRotate = AS.configuration.numToRotate.ToString(); newautoSaveOnGameStart = AS.configuration.autoSaveOnGameStart; } SetVisible(true); GUI.enabled = true; GUILayout.BeginHorizontal(); GUILayout.EndHorizontal(); //DrawTitle ("Options"); GUILayout.BeginArea(new Rect(10, 50, 375, 450)); GUILayout.BeginVertical(); DrawTitle("Screenshot Options"); //GUILayout.BeginHorizontal (); //GUILayout.Label ("Take screenshots at specified intervals: "); //GUILayout.FlexibleSpace (); //newScreenshotAtIntervals = GUILayout.Toggle (newScreenshotAtIntervals, ""); //GUILayout.EndHorizontal (); GUILayout.BeginHorizontal(); GUILayout.Label("Screenshot Interval in seconds: "); GUILayout.FlexibleSpace(); interval = GUILayout.TextField(interval, GUILayout.MinWidth(30.0F), GUILayout.MaxWidth(30.0F)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Convert to JPG: "); GUILayout.FlexibleSpace(); newConvertToJPG = GUILayout.Toggle(newConvertToJPG, ""); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Keep original PNG: "); GUILayout.FlexibleSpace(); newKeepOrginalPNG = GUILayout.Toggle(newKeepOrginalPNG, ""); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("JPEG Quality (1-100):"); GUILayout.FlexibleSpace(); JPGQuality = GUILayout.TextField(JPGQuality, GUILayout.MinWidth(30.0F), GUILayout.MaxWidth(30.0F)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Supersize images (0-4):"); GUILayout.FlexibleSpace(); strsupersize = GUILayout.TextField(strsupersize, GUILayout.MinWidth(30.0F), GUILayout.MaxWidth(30.0F)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Screenshot path:"); GUILayout.FlexibleSpace(); // GUILayout.EndHorizontal (); // GUILayout.BeginHorizontal (); // GUILayout.FlexibleSpace (); newScreenshotPath = GUILayout.TextField(newScreenshotPath, GUILayout.MinWidth(50F), GUILayout.MaxWidth(250F)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Filename Format:"); GUILayout.FlexibleSpace(); newFilename = GUILayout.TextField(newFilename, GUILayout.MinWidth(30F), GUILayout.MaxWidth(160F)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Screenshot after scene change:"); GUILayout.FlexibleSpace(); newScreenshotOnSceneChange = GUILayout.Toggle(newScreenshotOnSceneChange, ""); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Screenshot after special event:"); GUILayout.FlexibleSpace(); newOnSpecialEvent = GUILayout.Toggle(newOnSpecialEvent, ""); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Use Blizzy Toolbar if available:"); GUILayout.FlexibleSpace(); newUseBlizzyToolbar = GUILayout.Toggle(newUseBlizzyToolbar, ""); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Activation Keycode:"); GUILayout.FlexibleSpace(); newKeycode = GUILayout.TextField(newKeycode, GUILayout.MinWidth(30F), GUILayout.MaxWidth(40F)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("No GUI on screenshot:"); GUILayout.FlexibleSpace(); newNoGUIOnScreenshot = GUILayout.Toggle(newNoGUIOnScreenshot, ""); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("GUI on screenshot: "); GUILayout.FlexibleSpace(); newGUIOnScreenshot = GUILayout.Toggle(newGUIOnScreenshot, ""); GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndArea(); GUILayout.BeginArea(new Rect(400, 50, 300, 400)); GUILayout.BeginVertical(); DrawTitle("Pre-Crash Settings"); GUILayout.BeginHorizontal(); GUILayout.Label("Take pre-crash snapshots:"); GUILayout.FlexibleSpace(); newprecrashSnapshots = GUILayout.Toggle(newprecrashSnapshots, ""); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Seconds until impact:"); secondsUntilImpact = GUILayout.TextField(secondsUntilImpact, GUILayout.MinWidth(30.0F), GUILayout.MaxWidth(30.0F)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Altitude limit (meters):"); hsAltitudeLimit = GUILayout.TextField(hsAltitudeLimit, GUILayout.MinWidth(30.0F), GUILayout.MaxWidth(60.0F)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Minimum vertical speed:"); hsMinVerticalSpeed = GUILayout.TextField(hsMinVerticalSpeed, GUILayout.MinWidth(30.0F), GUILayout.MaxWidth(30.0F)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Screenshot interval (pre-crash):"); hsScreenshotInterval = GUILayout.TextField(hsScreenshotInterval, GUILayout.MinWidth(30.0F), GUILayout.MaxWidth(30.0F)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(""); GUILayout.EndHorizontal(); DrawTitle("Automatic Save Settings"); GUILayout.BeginHorizontal(); GUILayout.Label("Activation Key (not configurable):"); GUILayout.FlexibleSpace(); GUILayout.Label("Ctrl-F6"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Minutes between saves:"); minBetweenSaves = GUILayout.TextField(minBetweenSaves, GUILayout.MinWidth(30.0F), GUILayout.MaxWidth(30.0F)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Save file format:"); newsavePrefix = GUILayout.TextField(newsavePrefix, GUILayout.MinWidth(30.0F), GUILayout.MaxWidth(160.0F)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Max save files:"); numToRotate = GUILayout.TextField(numToRotate, GUILayout.MinWidth(30.0F), GUILayout.MaxWidth(30.0F)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Autosave on at game start:"); GUILayout.FlexibleSpace(); newautoSaveOnGameStart = GUILayout.Toggle(newautoSaveOnGameStart, ""); GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndArea(); // // I probably don't need to have the "finally" sections, but // it doesn't hurt and will be there if I need it in the future // try { newInterval = Convert.ToSingle(Convert.ToDouble(interval)); } catch (Exception) { } finally { } try { newJPGQuality = Convert.ToUInt16(JPGQuality); } catch (Exception) { } finally { } try { newsecondsUntilImpact = Convert.ToUInt16(secondsUntilImpact); } catch (Exception) { } finally { } try { newhsAltitudeLimit = Convert.ToUInt16(hsAltitudeLimit); } catch (Exception) { } finally { } try { newhsMinVerticalSpeed = Convert.ToUInt16(hsMinVerticalSpeed); } catch (Exception) { } finally { } try { newhsScreenshotInterval = Convert.ToSingle(Convert.ToDouble(hsScreenshotInterval)); } catch (Exception) { } finally { } try { newsupersize = Convert.ToUInt16(strsupersize); if (newsupersize < 0) { newsupersize = 0; } if (newsupersize > AS.configuration.MAX_SUPERSIZE) { newsupersize = AS.configuration.MAX_SUPERSIZE; } } catch (Exception) { } finally { } try { newminBetweenSaves = Convert.ToUInt16(minBetweenSaves); } catch (Exception) { } finally { } try { newnumToRotate = Convert.ToUInt16(numToRotate); } catch (Exception) { } finally { } GUI.DragWindow(); }
void GUIActive(int windowID) { #if false if (HighLogic.LoadedScene == GameScenes.SETTINGS) { GUI.BringWindowToFront(09271); } #endif GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); GUILayout.BeginHorizontal(); GUILayout.Label("Name: "); nameString = GUILayout.TextField(nameString); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Width: "); xString = GUILayout.TextField(xString); xString = Regex.Replace(xString, @"[^0-9]", ""); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Height: "); yString = GUILayout.TextField(yString); yString = Regex.Replace(yString, @"[^0-9]", ""); GUILayout.EndHorizontal(); fullScreen = GUILayout.Toggle(fullScreen, "Fullscreen"); reloadScene = GUILayout.Toggle(reloadScene, "Reload scene"); if (GUILayout.Button("Set Screen Resolution")) { if (xString != null && yString != null) { x = Convert.ToInt32(xString); y = Convert.ToInt32(yString); if (x > 0 && y > 0) { GameSettings.SCREEN_RESOLUTION_HEIGHT = y; GameSettings.SCREEN_RESOLUTION_WIDTH = x; GameSettings.FULLSCREEN = fullScreen; GameSettings.SaveSettings(); Screen.SetResolution(x, y, fullScreen); Log.detail("Set screen resolution"); if (reloadScene) { if (HighLogic.LoadedScene != GameScenes.LOADING) { HighLogic.LoadScene(HighLogic.LoadedScene); } else { ScreenMessages.PostScreenMessage("You cannot reload the scene while loading the game!", 1); } } } else { ScreenMessages.PostScreenMessage("One or both of your values is too small. Please enter a valid value.", 1, ScreenMessageStyle.UPPER_CENTER); } } else { ScreenMessages.PostScreenMessage("The values you have set are invalid. Please set a valid value.", 1, ScreenMessageStyle.UPPER_CENTER); } } if (nameString == "") { GUI.enabled = false; } if (GUILayout.Button("Save")) { string newName = nameString; string newX = xString; string newY = yString; bool newFullscreen = fullScreen; ConfigNode config = new ConfigNode(newName); config.AddValue("name", newName); config.AddValue("x", newX); config.AddValue("y", newY); config.AddValue("fullscreen", newFullscreen.ToString()); this.presets.Create(config); ScreenMessages.PostScreenMessage("Preset saved. You can change the preset later by using the same name in this editor.", 5, ScreenMessageStyle.UPPER_CENTER); this.presets.ReloadFiles(); } GUI.enabled = 0 != this.presets.files.Count; if (deleteEnabled) { if (GUILayout.Button("Disable Delete")) { deleteEnabled = false; } } else { if (GUILayout.Button("Enable Delete")) { deleteEnabled = true; } } if (GUILayout.Button("Close")) { toolbarButton.Active = false; } GUILayout.EndVertical(); GUILayout.BeginVertical(); scrollViewPos = GUILayout.BeginScrollView(scrollViewPos); foreach (Data.ConfigNode configNode in this.presets.files) { ConfigNode config = configNode.Node; if (deleteEnabled) { if (GUILayout.Button("Delete " + config.GetValue("name"))) { confirmDeleteEnabled = true; this.presets.MarkForDeletion(configNode); } } else { if (GUILayout.Button(config.GetValue("name"))) { int xVal; int.TryParse(config.GetValue("x"), out xVal); int yVal; int.TryParse(config.GetValue("y"), out yVal); bool fullscreen; bool.TryParse(config.GetValue("fullscreen"), out fullscreen); GameSettings.SCREEN_RESOLUTION_HEIGHT = yVal; GameSettings.SCREEN_RESOLUTION_WIDTH = xVal; GameSettings.FULLSCREEN = fullscreen; GameSettings.SaveSettings(); Screen.SetResolution(xVal, yVal, fullscreen); Log.detail("Set screen resolution from preset"); } } } GUILayout.EndScrollView(); GUILayout.EndVertical(); GUILayout.EndHorizontal(); if (GUI.Button(new Rect(anyresWinRect.width - 18, 3f, 15f, 15f), new GUIContent("X"))) { toolbarButton.Active = false; } GUI.DragWindow(); }
private void drawPlaneSetting() { planeConfig.EnableSystem = GUILayout.Toggle(planeConfig.EnableSystem, "System Enable", toggleStyle); // descent rate config planeConfig.EnableDescentRate = GUILayout.Toggle(planeConfig.EnableDescentRate, "Descent Rate", toggleStyle); planeConfig.EnableClosureToTerrain = GUILayout.Toggle(planeConfig.EnableClosureToTerrain, "Closure to Terrain", toggleStyle); GUILayout.Label(String.Format("Descent Rate Factor: {0}", planeConfig.DescentRateFactor)); descentRateFactorExp = GUILayout.HorizontalSlider(descentRateFactorExp, -1.0f, 1.0f); planeConfig.DescentRateFactor = (float)Math.Round(Math.Pow(10, descentRateFactorExp), 1); // altitude loss planeConfig.EnableAltitudeLoss = GUILayout.Toggle(planeConfig.EnableAltitudeLoss, "Altitude Loss After Takeoff", toggleStyle); // terrain clearance planeConfig.EnableTerrainClearance = GUILayout.Toggle(planeConfig.EnableTerrainClearance, "Terrain Clearance", toggleStyle); GUILayout.BeginHorizontal(); { GUILayout.Label("Gear Alt"); GUILayout.FlexibleSpace(); tooLowGearAltitudeString = GUILayout.TextField(tooLowGearAltitudeString, GUILayout.Height(30), GUILayout.Width(80)); GUILayout.Label(Util.GetShortString(planeConfig.UnitOfAltitude)); } GUILayout.EndHorizontal(); // altitude planeConfig.EnableAltitudeCallouts = GUILayout.Toggle(planeConfig.EnableAltitudeCallouts, "Altitude Callouts", toggleStyle); // retard planeConfig.EnableRetard = GUILayout.Toggle(planeConfig.EnableRetard, "Retard", toggleStyle); // bank angle planeConfig.EnableTraffic = GUILayout.Toggle(planeConfig.EnableTraffic, "Traffic", toggleStyle); // traffic planeConfig.EnableBankAngle = GUILayout.Toggle(planeConfig.EnableBankAngle, "Bank Angle", toggleStyle); // v1 planeConfig.EnableV1 = GUILayout.Toggle(planeConfig.EnableV1, "V1", toggleStyle); // rotate planeConfig.EnableRotate = GUILayout.Toggle(planeConfig.EnableRotate, "Rotate", toggleStyle); // gear up planeConfig.EnableGearUp = GUILayout.Toggle(planeConfig.EnableGearUp, "Gear Up", toggleStyle); // stall GUILayout.BeginHorizontal(); { planeConfig.EnableStall = GUILayout.Toggle(planeConfig.EnableStall, "Stall", toggleStyle); GUILayout.Space(50); planeConfig.EnableStallShake = GUILayout.Toggle(planeConfig.EnableStallShake, "Shake", toggleStyle); } GUILayout.EndHorizontal(); GUILayout.Label(String.Format("Max AOA: {0} deg", planeConfig.StallAoa)); planeConfig.StallAoa = (float)Math.Round(GUILayout.HorizontalSlider(planeConfig.StallAoa, 0.0f, 180.0f), 0); // take off speed GUILayout.Label(String.Format("V1 Speed: {0} m/s", planeConfig.V1Speed)); planeConfig.V1Speed = (float)Math.Round(GUILayout.HorizontalSlider(planeConfig.V1Speed, 10.0f, 200.0f), 0); GUILayout.Label(String.Format("Take Off Speed: {0} m/s", planeConfig.TakeOffSpeed)); planeConfig.TakeOffSpeed = (float)Math.Round(GUILayout.HorizontalSlider(planeConfig.TakeOffSpeed, 10.0f, 200.0f), 0); // landing speed GUILayout.Label(String.Format("Landing Speed: {0} m/s", planeConfig.LandingSpeed)); planeConfig.LandingSpeed = (float)Math.Round(GUILayout.HorizontalSlider(planeConfig.LandingSpeed, 10.0f, 200.0f), 0); }
private void DoWindow(int id) { GUILayout.BeginHorizontal(); GUILayout.Label("For each mod, select which toolbar to put it's button on."); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("If the Blizzy toobar is not installed, all buttons will be put on the stock toolbar, regardless of the setting"); GUILayout.EndHorizontal(); GUILayout.Space(10); GUILayout.BeginHorizontal(); GUILayout.Label("Stock", GUILayout.Width(50)); GUILayout.Label("Blizzy", GUILayout.Width(50)); GUILayout.Label("Both", GUILayout.Width(50)); GUILayout.Label("None", GUILayout.Width(50)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); //ToolbarControl.sortedModList = ToolbarControl.sortedModList.OrderBy(x => x.displayName).ToList(); scrollVector = GUILayout.BeginScrollView(scrollVector, scrollbar_style, GUILayout.Height(scrollBarHeight)); foreach (ToolbarControl.Mod mod in ToolbarControl.sortedModList) { bool doUseButtons = false; GUILayout.BeginHorizontal(); bool stock = GUILayout.Toggle(mod.useStock, "", GUILayout.Width(60)); if (stock != mod.useStock) { if (ToolbarControl.registeredMods[mod.modId].useStock == ToolbarControl.registeredMods[mod.modId].useBlizzy && ToolbarControl.registeredMods[mod.modId].useStock) { ToolbarControl.registeredMods[mod.modId].useBlizzy = false; } else { ToolbarControl.registeredMods[mod.modId].useStock = stock; ToolbarControl.registeredMods[mod.modId].useBlizzy = !stock; } doUseButtons = true; } bool blizzy = GUILayout.Toggle(mod.useBlizzy, "", GUILayout.Width(50)); if (blizzy != ToolbarControl.registeredMods[mod.modId].useBlizzy) { if (ToolbarControl.registeredMods[mod.modId].useStock == ToolbarControl.registeredMods[mod.modId].useBlizzy && ToolbarControl.registeredMods[mod.modId].useBlizzy) { ToolbarControl.registeredMods[mod.modId].useStock = false; } else { ToolbarControl.registeredMods[mod.modId].useBlizzy = blizzy; ToolbarControl.registeredMods[mod.modId].useStock = !blizzy; } doUseButtons = true; } bool both = (stock & blizzy); bool newboth = GUILayout.Toggle(both, "", GUILayout.Width(50)); if (newboth != both) { ToolbarControl.registeredMods[mod.modId].useBlizzy = true; ToolbarControl.registeredMods[mod.modId].useStock = true; doUseButtons = true; } if (!ToolbarControl.registeredMods[mod.modId].noneAllowed) { GUI.enabled = false; } bool none = (!stock & !blizzy); bool newnone = GUILayout.Toggle(none, "", GUILayout.Width(25)); if (newnone != none) { ToolbarControl.registeredMods[mod.modId].useBlizzy = false; ToolbarControl.registeredMods[mod.modId].useStock = false; doUseButtons = true; } if (doUseButtons) { ToolbarControl.SaveData(); if (ToolbarControl.registeredMods[mod.modId].modToolbarControl != null) { ToolbarControl.registeredMods[mod.modId].modToolbarControl.UseButtons(mod.modId); } else { Log.Debug("mod.Key: " + mod.modId + " modToolbarControl is null"); } } GUI.enabled = true; GUILayout.Label(" " + mod.displayName); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); } GUILayout.EndScrollView(); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Close")) { GUIEnabled = false; } GUILayout.FlexibleSpace(); if (GUILayout.Button("?")) { IntroWindowClass.showHelp = true; IntroWindowClass.automoved = 0; } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUI.DragWindow(); }
// GUI private void WindowGUI(int windowID) { if (null == this.CurrentVessel) { return; } #region General GUI // General GUI window information GUIStyle mySty = new GUIStyle(GUI.skin.button); mySty.normal.textColor = mySty.focused.textColor = Color.white; mySty.hover.textColor = mySty.active.textColor = Color.yellow; mySty.onNormal.textColor = mySty.onFocused.textColor = mySty.onHover.textColor = mySty.onActive.textColor = Color.green; mySty.padding = new RectOffset(2, 2, 2, 2); // Buoyancy -, current %, and + buttons GUILayout.BeginHorizontal(); if (GUILayout.RepeatButton("-", mySty)) { TargetBuoyantVessel -= 0.002f; ToggleAltitudeControl = false; } TargetBuoyantVessel = Mathf.Clamp01(TargetBuoyantVessel); GUILayout.Label(" " + Mathf.RoundToInt(TargetBuoyantVessel * 100) + "%"); if (GUILayout.RepeatButton("+", mySty)) { TargetBuoyantVessel += 0.002f; ToggleAltitudeControl = false; } GUILayout.EndHorizontal(); // Slider control. Also is set by the other controls. GUILayout.BeginHorizontal(); { float temp = TargetBuoyantVessel; TargetBuoyantVessel = GUILayout.HorizontalSlider(TargetBuoyantVessel, 0f, 1f); if (temp != TargetBuoyantVessel) { ToggleAltitudeControl = false; } } GUILayout.EndHorizontal(); TargetBuoyantVessel = Mathf.Clamp01(TargetBuoyantVessel); #endregion #region Toggle Altitude // Altitude control. Should be deactivated when pressing any other unrelated control. GUILayout.BeginHorizontal(); { string toggleAltitudeControlString = "Altitude Control Off"; if (ToggleAltitudeControl) { toggleAltitudeControlString = "Altitude Control On"; } ToggleAltitudeControl = GUILayout.Toggle(ToggleAltitudeControl, toggleAltitudeControlString); } GUILayout.EndHorizontal(); #endregion if (ToggleAltitudeControl) { #region Altitude Control willReset1 = true; // Vertical Velocity -, target velocity, and + buttons GUILayout.BeginHorizontal(); GUILayout.Label("Target Vertical Velocity"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (GUILayout.RepeatButton("--", mySty)) { TargetVerticalVelocity -= 0.1f; } if (GUILayout.Button("-", mySty)) { TargetVerticalVelocity -= 0.1f; } if (GUILayout.Button(TargetVerticalVelocity.ToString("00.0") + " m/s", mySty)) { TargetVerticalVelocity = 0; } if (GUILayout.Button("+", mySty)) { TargetVerticalVelocity += 0.1f; } if (GUILayout.RepeatButton("++", mySty)) { TargetVerticalVelocity += 0.1f; } GUILayout.EndHorizontal(); #endregion } else { TargetVerticalVelocity = 0; if (willReset1) { resetGUIsize = true; willReset1 = false; } } if (Envelopes.Count > 1) { GUILayout.BeginHorizontal(); string toggleAutoPitchString = "Auto Pitch Off"; if (ToggleAutoPitch) { toggleAutoPitchString = "Auto Pitch On"; } ToggleAutoPitch = GUILayout.Toggle(ToggleAutoPitch, toggleAutoPitchString); GUILayout.EndHorizontal(); } if (ToggleAutoPitch) { willReset4 = true; } else { if (willReset4) { resetGUIsize = true; willReset4 = false; } } if (ToggleAutoPitch) { willReset2 = true; #if DEBUG DisplayHologram = GUILayout.Toggle(DisplayHologram, "Display Hologram at " + LineOffsetMultiplier.ToString("F1")); if (DisplayHologram) { LineOffsetMultiplier = GUILayout.HorizontalSlider(LineOffsetMultiplier, -20f, 20f); } #endif } else { DisplayHologram = false; if (willReset2) { resetGUIsize = true; willReset2 = false; } } if (AnchorPresent) { GUILayout.BeginHorizontal(); string toggleAnchor = "Anchor Inactive"; if (AnchorOn) { toggleAnchor = "Anchor Active"; } AnchorOn = GUILayout.Toggle(AnchorOn, toggleAnchor); string toggleAutoAnchor = "Auto Anchor Off"; if (AutoAnchor) { toggleAutoAnchor = "Auto Anchor On"; } AutoAnchor = GUILayout.Toggle(AutoAnchor, toggleAutoAnchor); GUILayout.EndHorizontal(); } if (resetGUIsize) { // Reset window size windowPos.Set(windowPos.x, windowPos.y, 10, 10); resetGUIsize = false; } #region Debug // Debug info GUILayout.BeginHorizontal(); GUILayout.Label("Buoyancy - Weight: " + (TotalBuoyancy - (CurrentVessel.GetTotalMass() * FlightGlobals.getGeeForceAtPosition(CurrentVessel.GetWorldPos3D()).magnitude)).ToString("0.00")); GUILayout.EndHorizontal(); //GUILayout.BeginHorizontal(); //GUILayout.Label("Angle from Up: " + (ContAngle(heading, up, up)).ToString("0.0")); //GUILayout.EndHorizontal(); //GUILayout.BeginHorizontal(); //GUILayout.Label("Front Torque: " + (totalTorqueP).ToString("0.0")); //GUILayout.EndHorizontal(); //GUILayout.BeginHorizontal(); //GUILayout.Label("Rear Torque: " + (totalTorqueN).ToString("0.0")); //GUILayout.EndHorizontal(); //GUILayout.BeginHorizontal(); //GUILayout.Label("Front B: " + (targetBuoyancyP).ToString("0.00")); //GUILayout.EndHorizontal(); //GUILayout.BeginHorizontal(); //GUILayout.Label("Rear B: " + (targetBuoyancyN).ToString("0.00")); //GUILayout.EndHorizontal(); #if DEBUG int x = 0; foreach (HLEnvelopePartModule envelope in Envelopes) { GUILayout.BeginHorizontal(); GUILayout.Label("Env" + x + " Location: " + (envelope.eDistanceFromCoM).ToString("0.00")); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Env" + x + " Buoyancy: " + (envelope.buoyantForce.magnitude).ToString("0.00")); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Env" + x + " Specific Volume: " + (envelope.specificVolumeFractionEnvelope).ToString("0.00")); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Env" + x + " targetPitchBuoyancy: " + (envelope.targetPitchBuoyancy).ToString("0.00")); GUILayout.EndHorizontal(); //GUILayout.BeginHorizontal(); //GUILayout.Label("Env" + x + " targetBoyantForceFractionCompressor: " + (envelope.targetBoyantForceFractionCompressor).ToString("0.00")); //GUILayout.EndHorizontal(); x += 1; } #endif #endregion GUI.DragWindow(new Rect(0, 0, 500, 20)); }
void OnWindowGUI(int id) { GUI.skin = HighLogic.Skin; Historian historian = Historian.Instance; // column one using (GUILayout.AreaScope columnOne = new GUILayout.AreaScope(new Rect(15, 20, 380, 550))) { using (GUILayout.VerticalScope col = new GUILayout.VerticalScope()) { GUILayout.Space(20); historian.Suppressed = GUILayout.Toggle(historian.Suppressed, Localizer.GetStringByTag("#Historian_Suppressed")); historian.AlwaysActive = GUILayout.Toggle(historian.AlwaysActive, Localizer.GetStringByTag("#Historian_AlwaysActive")); historian.AutoHideUI = GUILayout.Toggle(historian.AutoHideUI, Localizer.GetStringByTag("#Historian_AutoHideUI")); Configuration.Instance.AutoHideUI = historian.AutoHideUI; Configuration.Instance.PersistentConfigurationWindow = GUILayout.Toggle(Configuration.Instance.PersistentConfigurationWindow, Localizer.GetStringByTag("#Historian_AlwaysShowConfigWindow")); Configuration.Instance.EnableLauncherButton = GUILayout.Toggle(Configuration.Instance.EnableLauncherButton, Localizer.GetStringByTag("#Historian_UseAppLauncher")); Configuration.Instance.EnableToolbarButton = GUILayout.Toggle(Configuration.Instance.EnableToolbarButton, Localizer.GetStringByTag("#Historian_UseToolbar")); GUILayout.Space(10); using (GUILayout.HorizontalScope layout = new GUILayout.HorizontalScope()) { int rightClickOptionsCount = 4; //GUILayout.Space(40); GUILayout.Label(Localizer.GetStringByTag("#Historian_RightClickAction")); GUILayout.Space(10); if (GUILayout.Button(previousButtonTexture, GUILayout.Width(20), GUILayout.Height(GUI.skin.label.lineHeight))) { Configuration.Instance.RightClickAction = (RightClickAction)Mathf.Clamp((int)Configuration.Instance.RightClickAction - 1, 0, rightClickOptionsCount - 1); } else if (GUILayout.Button(nextButtonTexture, GUILayout.Width(20), GUILayout.Height(GUI.skin.label.lineHeight))) { Configuration.Instance.RightClickAction = (RightClickAction)Mathf.Clamp((int)Configuration.Instance.RightClickAction + 1, 0, rightClickOptionsCount - 1); } GUILayout.Space(5); GUILayout.Label(Configuration.Instance.RightClickAction.ToString(), GUI.skin.textArea, GUILayout.ExpandWidth(true)); } ManageButtons(); GUILayout.Space(10); using (GUILayout.HorizontalScope layout = new GUILayout.HorizontalScope()) { GUILayout.Label(Localizer.GetStringByTag("#Historian_Layout")); GUILayout.Space(10); string[] layouts = historian.GetLayoutNames(); if (GUILayout.Button(previousButtonTexture, GUILayout.Width(20), GUILayout.Height(GUI.skin.label.lineHeight))) { historian.CurrentLayoutIndex = Mathf.Clamp(historian.CurrentLayoutIndex - 1, 0, layouts.Length - 1); } else if (GUILayout.Button(nextButtonTexture, GUILayout.Width(20), GUILayout.Height(GUI.skin.label.lineHeight))) { historian.CurrentLayoutIndex = Mathf.Clamp(historian.CurrentLayoutIndex + 1, 0, layouts.Length - 1); } GUILayout.Space(5); GUILayout.Label(historian.GetCurrentLayoutName(), GUI.skin.textArea, GUILayout.ExpandWidth(true)); } GUILayout.Space(10); using (GUILayout.HorizontalScope customHead = new GUILayout.HorizontalScope()) { GUILayout.Label(Localizer.GetStringByTag("#Historian_CustomText")); GUILayout.FlexibleSpace(); Configuration.Instance.PersistentCustomText = GUILayout.Toggle(Configuration.Instance.PersistentCustomText, Localizer.GetStringByTag("#Historian_Persistent"), GUILayout.Width(120)); } Configuration.Instance.CustomText = GUILayout.TextArea(Configuration.Instance.CustomText, GUI.skin.textArea, GUILayout.Height(60)); GUILayout.Space(10); using (GUILayout.HorizontalScope spaceCentre = new GUILayout.HorizontalScope()) { GUILayout.Label(Localizer.GetStringByTag("#Historian_DefaultSpaceCenterLabel")); GUILayout.FlexibleSpace(); Configuration.Instance.DefaultSpaceCenterName = GUILayout.TextField(Configuration.Instance.DefaultSpaceCenterName, GUI.skin.textArea, GUILayout.Width(150)); } GUILayout.Space(10); GUILayout.Label($"{Localizer.GetStringByTag("#Historian_LastActionTime")}: {Configuration.Instance.TimeToRememberLastAction} ms"); Configuration.Instance.TimeToRememberLastAction = (int)GUILayout.HorizontalSlider(Configuration.Instance.TimeToRememberLastAction, 250, 10000, GUILayout.ExpandWidth(true)); } } // column two using (GUILayout.AreaScope columnTwo = new GUILayout.AreaScope(new Rect(410, 20, 220, 500))) { using (GUILayout.VerticalScope col = new GUILayout.VerticalScope()) { GUILayout.Space(20); GUILayout.Label(Localizer.GetStringByTag("#Historian_DayNames")); for (int i = 0; i < Configuration.Instance.KerbinDayNames.Length; i++) { using (GUILayout.HorizontalScope item = new GUILayout.HorizontalScope()) { GUILayout.Label($"{i + 1}:"); GUILayout.FlexibleSpace(); Configuration.Instance.KerbinDayNames[i] = GUILayout.TextField(Configuration.Instance.KerbinDayNames[i], GUI.skin.textArea, GUILayout.Width(190f)); } } GUILayout.Space(50); GUILayout.Label(Localizer.GetStringByTag("#Historian_DefaultEmptyCrewSlot")); GUILayout.Space(10); using (GUILayout.HorizontalScope noCrewLabel = new GUILayout.HorizontalScope()) { GUILayout.Label(Localizer.GetStringByTag("#Historian_CrewedLabel")); GUILayout.FlexibleSpace(); Configuration.Instance.DefaultNoCrewLabel = GUILayout.TextField(Configuration.Instance.DefaultNoCrewLabel, GUI.skin.textArea, GUILayout.Width(120)); } using (GUILayout.HorizontalScope noCrewLabel = new GUILayout.HorizontalScope()) { GUILayout.Label(Localizer.GetStringByTag("#Historian_UncrewedLabel")); GUILayout.FlexibleSpace(); Configuration.Instance.DefaultUnmannedLabel = GUILayout.TextField(Configuration.Instance.DefaultUnmannedLabel, GUI.skin.textArea, GUILayout.Width(120)); } } } // column three using (GUILayout.AreaScope columnThree = new GUILayout.AreaScope(new Rect(660, 20, 220, 480))) { using (GUILayout.VerticalScope col = new GUILayout.VerticalScope()) { GUILayout.Space(20); GUILayout.Label(Localizer.GetStringByTag("#Historian_MonthNames")); for (int i = 0; i < Configuration.Instance.KerbinMonthNames.Length; i++) { using (GUILayout.HorizontalScope item = new GUILayout.HorizontalScope()) { GUILayout.Label($"{i + 1}:"); GUILayout.FlexibleSpace(); Configuration.Instance.KerbinMonthNames[i] = GUILayout.TextField(Configuration.Instance.KerbinMonthNames[i], GUI.skin.textArea, GUILayout.Width(190f)); } } } } // bottom bar using (GUILayout.AreaScope buttonBar = new GUILayout.AreaScope(new Rect(5, 525, 890, 30))) { using (GUILayout.HorizontalScope layout = new GUILayout.HorizontalScope()) { GUILayout.FlexibleSpace(); if (GUILayout.Button(Localizer.GetStringByTag("#autoLOC_900539"), GUILayout.Width(100.0f))) // #autoLOC_900539 = Load { historian.Reload(); } if (GUILayout.Button(Localizer.GetStringByTag("#autoLOC_174778"), GUILayout.Width(100.0f))) // #autoLOC_174778 = Save { Configuration.Instance.Layout = historian.GetCurrentLayoutName(); historian.SetConfiguration(Configuration.Instance); if (!Configuration.Instance.PersistentConfigurationWindow) { Toggle(); } if (!String.IsNullOrEmpty(Configuration.Instance.CustomText)) { Configuration.Instance.TokenizedCustomText = Parser.GetTokens(Configuration.Instance.CustomText); } } GUILayout.Space(20); // GUILayout.FlexibleSpace(); } } GUI.DragWindow(); }
internal void drawWindow(int id) { if (PartCommander.Instance.settings.altSkin) { GUI.skin = PartCommander.Instance.modStyleUnity.skin; } else { GUI.skin = PartCommander.Instance.modStyle.skin; } GUILayout.BeginVertical(); GUILayout.Label("Settings", modStyle.guiStyles["titleLabel"]); GUILayout.EndVertical(); if (Event.current.type == EventType.Repaint) { dragRect = GUILayoutUtility.GetLastRect(); } GUILayout.BeginVertical(); scrollPos = GUILayout.BeginScrollView(scrollPos); GUILayout.BeginHorizontal(); bool newHideUnAct = GUILayout.Toggle(settings.hideUnAct, "Hide unactionable parts", modStyle.guiStyles["toggleText"]); if (newHideUnAct != settings.hideUnAct) { PartCommander.Instance.updateParts = true; settings.hideUnAct = newHideUnAct; settings.Save(); } GUILayout.EndHorizontal(); GUILayout.Space(5f); GUILayout.BeginHorizontal(); GUILayout.Label("Font Size:", modStyle.guiStyles["settingsLabel"]); bool fontChanged = false; GUILayout.FlexibleSpace(); if (settings.fontSize <= 12) { GUI.enabled = false; } if (GUILayout.Button("<", modStyle.guiStyles["settingsButton"])) { settings.fontSize--; fontChanged = true; } GUI.enabled = true; string s = GUILayout.TextField(settings.fontSize.ToString(), modStyle.guiStyles["settingsLabel"]); if (settings.fontSize >= 20) { GUI.enabled = false; } if (GUILayout.Button(">", modStyle.guiStyles["settingsButton"])) { settings.fontSize++; fontChanged = true; } GUI.enabled = true; if (fontChanged) { settings.Save(); PartCommander.Instance.modStyle.UpdateFontSize(settings.fontSize); PartCommander.Instance.modStyleUnity.UpdateFontSize(settings.fontSize); } GUILayout.EndHorizontal(); GUILayout.Space(5f); GUILayout.BeginHorizontal(); bool newAltSkin = GUILayout.Toggle(settings.altSkin, "Use alternate skin", modStyle.guiStyles["toggleText"]); if (newAltSkin != settings.altSkin) { settings.altSkin = newAltSkin; settings.Save(); if (PartCommander.Instance.settings.altSkin) { modStyle = PartCommander.Instance.modStyleUnity; PartCommander.Instance.modStyle = PartCommander.Instance.modStyleUnity; } else { modStyle = PartCommander.Instance.modStyleKSP; PartCommander.Instance.modStyle = PartCommander.Instance.modStyle; } } GUILayout.EndHorizontal(); GUILayout.Space(5f); GUILayout.BeginHorizontal(); bool newEnableHotKey = GUILayout.Toggle(settings.enableHotKey, "Enable hot key", modStyle.guiStyles["toggleText"]); if (newEnableHotKey != settings.enableHotKey) { settings.enableHotKey = newEnableHotKey; settings.Save(); } GUILayout.EndHorizontal(); GUILayout.Space(5f); GUILayout.BeginHorizontal(); if (settingHotKey) { GUILayout.Label("Type a new hot key...", modStyle.guiStyles["settingsLabel"]); if (Event.current.isKey) { settings.hotKey = Event.current.keyCode; settings.Save(); settingHotKey = false; } } else { if (settings.enableHotKey) { GUILayout.BeginHorizontal(); GUILayout.Label("Mod + "); if (GUILayout.Button(new GUIContent(settings.hotKey.ToString(), "Click to set new hot key"), modStyle.guiStyles["settingsButton"])) { settingHotKey = true; } GUILayout.EndHorizontal(); } } GUILayout.EndHorizontal(); GUILayout.EndScrollView(); GUILayout.Space(25f); GUILayout.EndVertical(); if (GUI.Button(new Rect(windowRect.width - 18, 3f, 15f, 15f), new GUIContent("", "Close"), modStyle.guiStyles["closeButton"])) { showWindow = false; } // Create resize button in bottom right corner if (GUI.RepeatButton(new Rect(windowRect.width - 23, windowRect.height - 23, 20, 20), "", modStyle.guiStyles["resizeButton"])) { resizingWindow = true; } GUI.DragWindow(); }