public override void HandleInput() { if (KeyInput.JustPressedRebindableKey(KeyFunctions.Up)) { if (_state == SaveState.QuickSaveLabel) { return; } _state--; } else if (KeyInput.JustPressedRebindableKey(KeyFunctions.Down)) { if (_state >= SaveState.QuitLabel) { return; } _state++; } else if (KeyInput.JustPressedRebindableKey(KeyFunctions.Accept)) { bool save = true; bool playSound = true; switch (_state) { case SaveState.QuickSaveLabel: GlobalState.DoQuickSave(); save = false; playSound = false; _quickSaveLabel.SetText(DialogueManager.GetDialogue("misc", "any", "save", 1)); break; case SaveState.QuickLoadLabel: save = false; playSound = false; GlobalState.DoQuickLoad(); break; case SaveState.SaveLabel: _saveLabel.SetText(DialogueManager.GetDialogue("misc", "any", "save", 1)); break; case SaveState.SaveTitleLable: ReturnToTitle = true; ExitSubState(); break; case SaveState.SaveQuitLabel: GlobalState.ClosingGame = true; break; case SaveState.QuitLabel: save = false; GlobalState.ClosingGame = true; break; default: break; } if (playSound) { SoundManager.PlaySoundEffect("menu_select"); } if (save) { GlobalState.SaveGame(); } } else { base.HandleInput(); } }