public override void _Ready() { // Options control buttons resetButton = GetNode <Button>(ResetButtonPath); saveButton = GetNode <Button>(SaveButtonPath); // Tab selector buttons graphicsButton = GetNode <Button>(GraphicsButtonPath); soundButton = GetNode <Button>(SoundButtonPath); performanceButton = GetNode <Button>(PerformanceButtonPath); inputsButton = GetNode <Button>(InputsButtonPath); miscButton = GetNode <Button>(MiscButtonPath); // Graphics graphicsTab = GetNode <Control>(GraphicsTabPath); vsync = GetNode <CheckBox>(VSyncPath); fullScreen = GetNode <CheckBox>(FullScreenPath); msaaResolution = GetNode <OptionButton>(MSAAResolutionPath); colourblindSetting = GetNode <OptionButton>(ColourblindSettingPath); chromaticAberrationToggle = GetNode <CheckBox>(ChromaticAberrationTogglePath); chromaticAberrationSlider = GetNode <Slider>(ChromaticAberrationSliderPath); // Sound soundTab = GetNode <Control>(SoundTabPath); masterVolume = GetNode <Slider>(MasterVolumePath); masterMuted = GetNode <CheckBox>(MasterMutedPath); musicVolume = GetNode <Slider>(MusicVolumePath); musicMuted = GetNode <CheckBox>(MusicMutedPath); ambianceVolume = GetNode <Slider>(AmbianceVolumePath); ambianceMuted = GetNode <CheckBox>(AmbianceMutedPath); sfxVolume = GetNode <Slider>(SFXVolumePath); sfxMuted = GetNode <CheckBox>(SFXMutedPath); guiVolume = GetNode <Slider>(GUIVolumePath); guiMuted = GetNode <CheckBox>(GUIMutedPath); languageSelection = GetNode <OptionButton>(LanguageSelectionPath); resetLanguageButton = GetNode <Button>(ResetLanguageButtonPath); LoadLanguages(languageSelection); // Performance performanceTab = GetNode <Control>(PerformanceTabPath); cloudInterval = GetNode <OptionButton>(CloudIntervalPath); cloudResolution = GetNode <OptionButton>(CloudResolutionPath); runAutoEvoDuringGameplay = GetNode <CheckBox>(RunAutoEvoDuringGameplayPath); // Inputs inputsTab = GetNode <Control>(InputsTabPath); inputGroupList = GetNode <InputGroupList>(InputGroupListPath); inputGroupList.OnControlsChanged += OnControlsChanged; // Misc miscTab = GetNode <Control>(MiscTabPath); playIntro = GetNode <CheckBox>(PlayIntroPath); playMicrobeIntro = GetNode <CheckBox>(PlayMicrobeIntroPath); tutorialsEnabledOnNewGame = GetNode <CheckBox>(TutorialsEnabledOnNewGamePath); cheats = GetNode <CheckBox>(CheatsPath); autoSave = GetNode <CheckBox>(AutoSavePath); maxAutoSaves = GetNode <SpinBox>(MaxAutoSavesPath); maxQuickSaves = GetNode <SpinBox>(MaxQuickSavesPath); tutorialsEnabled = GetNode <CheckBox>(TutorialsEnabledPath); customUsernameEnabled = GetNode <CheckBox>(CustomUsernameEnabledPath); customUsername = GetNode <LineEdit>(CustomUsernamePath); backConfirmationBox = GetNode <AcceptDialog>(BackConfirmationBoxPath); defaultsConfirmationBox = GetNode <ConfirmationDialog>(DefaultsConfirmationBoxPath); errorAcceptBox = GetNode <AcceptDialog>(ErrorAcceptBoxPath); selectedOptionsTab = SelectedOptionsTab.Graphics; // We're only utilizing the AcceptDialog's auto resize functionality, // so hide the default Ok button since it's not needed backConfirmationBox.GetOk().Hide(); }