public void Update() { if (Input.GetKeyDown(KeyCode.LeftAlt)) { keyAltPressed = true; } if (Input.GetKeyUp(KeyCode.LeftAlt)) { keyAltPressed = false; } if (Input.GetKeyDown(KeyCode.LeftControl)) { keyCtrlPressed = true; } if (Input.GetKeyUp(KeyCode.LeftControl)) { keyCtrlPressed = false; } if (Config.IsHotkeyEnabled() && keyAltPressed && Input.GetKeyDown(KeyCode.F)) { Log.Info("hotkey ALT-F detected"); switch (HighLogic.LoadedScene) { case GameScenes.EDITOR: case GameScenes.FLIGHT: case GameScenes.SPACECENTER: case GameScenes.TRACKSTATION: if (!keyCtrlPressed) { Log.Info("hotkey hall of fame browser"); createBrowserOnce(); browser.SetVisible(!browser.IsVisible()); } else { Log.Info("hotkey reset window positions"); PositionableWindow.ResetAllWindowPositions(); } break; default: Log.Info("cant open/close hall of fame in game scene " + HighLogic.LoadedScene); break; } } if (observer != null) { observer.Update(); } }
protected override void OnWindow(int id) { Configuration config = FinalFrontier.Config; GUILayout.BeginVertical(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Browse Ribbon Codes", FFStyles.STYLE_BUTTON)) { if (!codeBrowser.IsVisible()) { MoveWindowAside(codeBrowser); } codeBrowser.SetVisible(!codeBrowser.IsVisible()); } GUILayout.FlexibleSpace(); if (GUILayout.Button("Close", FFStyles.STYLE_BUTTON)) { SetVisible(false); config.Save(); } GUILayout.EndHorizontal(); GUILayout.Label("Log Level:", FFStyles.STYLE_STRETCHEDLABEL); GUILayout.BeginHorizontal(); LogLevelButton(Log.LEVEL.OFF, "OFF"); LogLevelButton(Log.LEVEL.ERROR, "ERROR"); LogLevelButton(Log.LEVEL.WARNING, "WARNING"); LogLevelButton(Log.LEVEL.INFO, "INFO"); LogLevelButton(Log.LEVEL.DETAIL, "DETAIL"); LogLevelButton(Log.LEVEL.TRACE, "TRACE"); GUILayout.EndHorizontal(); // Reset Window Postions if (GUILayout.Button("Reset Window Positions", FFStyles.STYLE_BUTTON)) { PositionableWindow.ResetAllWindowPositions(); } // Window Titles GUILayout.BeginHorizontal(); GUILayout.Label("Hall Of Fame window title:", FFStyles.STYLE_STRETCHEDLABEL); string hallOfFameWindowTitle = FinalFrontier.Config.GetHallOfFameWindowTitle(); hallOfFameWindowTitle = GUILayout.TextField(hallOfFameWindowTitle, STYLE_TEXTFIELD_WIDOWTITLE); FinalFrontier.Config.SetHallOfFameWindowTitle(hallOfFameWindowTitle); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Decoration Board window title:", FFStyles.STYLE_STRETCHEDLABEL); string decorationBoardWindowTitle = FinalFrontier.Config.GetDecorationBoardWindowTitle(); decorationBoardWindowTitle = GUILayout.TextField(decorationBoardWindowTitle, STYLE_TEXTFIELD_WIDOWTITLE); FinalFrontier.Config.SetDecorationBoardWindowTitle(decorationBoardWindowTitle); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Mission Summary window title:", FFStyles.STYLE_STRETCHEDLABEL); string missionSummaryWindowTitle = FinalFrontier.Config.GetMissionSummaryWindowTitle(); missionSummaryWindowTitle = GUILayout.TextField(missionSummaryWindowTitle, STYLE_TEXTFIELD_WIDOWTITLE); FinalFrontier.Config.SetMissionSummaryWindowTitle(missionSummaryWindowTitle); GUILayout.EndHorizontal(); GUILayout.Label("(window titles needs a restart to take effect)", FFStyles.STYLE_RLABEL); // // GUILayout.Label("Settings:", FFStyles.STYLE_STRETCHEDLABEL); // CUSTOM RIBBONS AT SPACE CENTER config.SetCustomRibbonAtSpaceCenterEnabled(GUILayout.Toggle(config.IsCustomRibbonAtSpaceCenterEnabled(), "Custom ribbons at space center", FFStyles.STYLE_TOGGLE)); // REVOCATION OF RIBBONS config.SetRevocationOfRibbonsEnabled(GUILayout.Toggle(config.IsRevocationOfRibbonsEnabled(), "Revocation of ribbons enabled", FFStyles.STYLE_TOGGLE)); // AUTO EXPAND RIBBONS config.SetAutoExpandEnabled(GUILayout.Toggle(config.IsAutoExpandEnabled(), "Expand ribbons in hall of fame", FFStyles.STYLE_TOGGLE)); // PERMADEATH GameUtils.SetPermadeathEnabled(GUILayout.Toggle(GameUtils.IsPermadeathEnabled(), "Permadeath enabled", FFStyles.STYLE_TOGGLE)); // HOTKEY config.SetHotkeyEnabled(GUILayout.Toggle(config.IsHotkeyEnabled(), "Hotkey enabled", FFStyles.STYLE_TOGGLE)); // KERBIN TIME GameUtils.SetKerbinTimeEnabled(GUILayout.Toggle(GameUtils.IsKerbinTimeEnabled(), "Use kerbin time", FFStyles.STYLE_TOGGLE)); // MISSION SUMMARY POPUP WINDOW config.SetMissionSummaryEnabled(GUILayout.Toggle(config.IsMissionSummaryEnabled(), "Show summary when vessel is recovered", FFStyles.STYLE_TOGGLE)); // Stock Toolbar if (ToolbarManager.ToolbarAvailable) { config.SetUseStockToolbar(GUILayout.Toggle(config.UseStockToolbar(), "Use Stock Toolbar (needs a restart to take effect)", FFStyles.STYLE_TOGGLE)); } // FAR Calculations if (FinalFrontier.FarAdapter.IsInstalled()) { config.UseFARCalculations = GUILayout.Toggle(config.UseFARCalculations, "Use FAR calculations", FFStyles.STYLE_TOGGLE); } // Convert Games config.convertGames = GUILayout.Toggle(config.convertGames, "Convert save games", FFStyles.STYLE_TOGGLE); // Log Ribbon Aawrds config.logRibbonAwards = GUILayout.Toggle(config.logRibbonAwards, "Log ribbon awards", FFStyles.STYLE_TOGGLE); GUILayout.EndVertical(); DragWindow(); }