// Save settings public static void save() { IniFile ini = new IniFile(); ini.set(SOUND_ENABLED_KEY, SoundEnabled); ini.set(MUSIC_ENABLED_KEY, MusicEnabled); ini.save("Settings"); }
/// <summary> /// Save options. /// </summary> public static void save() { #if PACKAGE_INI_FILE #region Get available languages #if PACKAGE_SMART_LOCALIZATION List<CultureInfo> availableLanguages=LanguageManager.Instance.AvailableLanguagesCultureInfo; string languagesList=""; for (int i=0; i<availableLanguages.Count; ++i) { if (i>0) { languagesList=languagesList+", "; } languagesList=languagesList+availableLanguages[i].Name; } #endif #endregion IniFile iniFile=new IniFile(); #endif #region Game #if OPTION_LANGUAGE #if PACKAGE_INI_FILE iniFile.set ("Game.Language", mLanguage, "Application language: "+languagesList); #else PlayerPrefs.SetString("Game.Language", mLanguage); #endif #endif #if OPTION_DIFFICULTY #if PACKAGE_INI_FILE iniFile.set ("Game.Difficulty", mDifficulty, "Difficulty: 0-"+(difficultyCount-1).ToString()); #else PlayerPrefs.SetInt("Game.Difficulty", mDifficulty); #endif #endif #if OPTION_BLOOD #if PACKAGE_INI_FILE iniFile.set ("Game.Blood", mBlood, "Show blood: True/False"); #else PlayerPrefs.SetInt("Game.Blood", mBlood ? 1 : 0); #endif #endif #if OPTION_USE_HINTS #if PACKAGE_INI_FILE iniFile.set ("Game.UseHints", mUseHints, "Use hints: True/False"); #else PlayerPrefs.SetInt("Game.UseHints", mUseHints ? 1 : 0); #endif #endif #if OPTION_AUTOSAVE #if PACKAGE_INI_FILE iniFile.set ("Game.Autosave", mAutosave, "Enable autosave: True/False"); #else PlayerPrefs.SetInt("Game.Autosave", mAutosave ? 1 : 0); #endif #endif #endregion #region Audio #if OPTION_SOUND #if PACKAGE_INI_FILE iniFile.set ("Audio.Sound", mSound, "Sound: True/False"); #else PlayerPrefs.SetInt("Audio.Sound", mSound ? 1 : 0); #endif #endif #if OPTION_MASTER_VOLUME #if PACKAGE_INI_FILE iniFile.set ("Audio.MasterVolume", mMasterVolume, "Master volume: 0-1"); #else PlayerPrefs.SetFloat("Audio.MasterVolume", mMasterVolume); #endif #endif #if OPTION_MUSIC_VOLUME #if PACKAGE_INI_FILE iniFile.set ("Audio.MusicVolume", mMusicVolume, "Music volume: 0-1"); #else PlayerPrefs.SetFloat("Audio.MusicVolume", mMusicVolume); #endif #endif #if OPTION_VOICE_VOLUME #if PACKAGE_INI_FILE iniFile.set ("Audio.VoiceVolume", mVoiceVolume, "Voice volume: 0-1"); #else PlayerPrefs.SetFloat("Audio.VoiceVolume", mVoiceVolume); #endif #endif #if OPTION_EFFECTS_VOLUME #if PACKAGE_INI_FILE iniFile.set ("Audio.EffectsVolume", mEffectsVolume, "Effects volume: 0-1"); #else PlayerPrefs.SetFloat("Audio.EffectsVolume", mEffectsVolume); #endif #endif #if OPTION_SUBTITLES #if PACKAGE_INI_FILE iniFile.set ("Audio.Subtitles", mSubtitles, "Subtitles: True/False"); #else PlayerPrefs.SetInt("Audio.Subtitles", mSubtitles ? 1 : 0); #endif #endif #endregion #region Video #if OPTION_SHOW_FPS #if PACKAGE_INI_FILE iniFile.set ("Video.ShowFPS", mShowFPS, "Show FPS: True/False"); #else PlayerPrefs.SetInt("Video.ShowFPS", mShowFPS ? 1 : 0); #endif #endif #if OPTION_FULL_SCREEN_AND_RESOLUTION #if PACKAGE_INI_FILE iniFile.set ("Video.FullScreen", mFullScreen, "Full screen mode: True/False"); iniFile.set ("Video.Resolution", mResolution, "Screen resolution: WIDTH x HEIGHT : RATE Hz"); #else PlayerPrefs.SetInt ("Video.FullScreen", mFullScreen ? 1 : 0); PlayerPrefs.SetString("Video.Resolution", mResolution); #endif #endif #if OPTION_QUALITY #if PACKAGE_INI_FILE iniFile.set ("Video.Quality", mQuality, "Video quality: 0-"+QualitySettings.names.Length.ToString()+" ("+QualitySettings.names.Length.ToString()+" - Custom)"); #else PlayerPrefs.SetInt("Video.Quality", mQuality); #endif #endif #endregion #region Controls #if MENU_DEFINE_KEYS #if PACKAGE_INI_FILE bool firstKey=true; #endif foreach (KeyMapping key in InputControl.getKeys()) { #if PACKAGE_INI_FILE if (firstKey) { firstKey=false; iniFile.set("Controls."+key.name+".Primary", key.primaryInput.ToString(), "Controls"); } else { iniFile.set("Controls."+key.name+".Primary", key.primaryInput.ToString()); } iniFile.set("Controls."+key.name+".Secondary", key.secondaryInput.ToString()); iniFile.set("Controls."+key.name+".Third", key.thirdInput.ToString()); #else PlayerPrefs.SetString("Controls."+key.name+".Primary", key.primaryInput.ToString()); PlayerPrefs.SetString("Controls."+key.name+".Secondary", key.secondaryInput.ToString()); PlayerPrefs.SetString("Controls."+key.name+".Third", key.thirdInput.ToString()); #endif } #endif #if OPTION_ALWAYS_RUN #if PACKAGE_INI_FILE iniFile.set ("Controls.AlwaysRun", mAlwaysRun, "Always run: True/False"); #else PlayerPrefs.SetInt("Controls.AlwaysRun", mAlwaysRun ? 1 : 0); #endif #endif #if OPTION_AUTO_AIM #if PACKAGE_INI_FILE iniFile.set ("Controls.AutoAim", mAutoAim, "Auto aim: True/False"); #else PlayerPrefs.SetInt("Controls.AutoAim", mAutoAim ? 1 : 0); #endif #endif #if OPTION_MOUSE_SENSITIVITY #if PACKAGE_INI_FILE iniFile.set ("Controls.MouseSensitivity", mMouseSensitivity, "Mouse sensitivity: 0-"+mouseSensitivityMaximum.ToString()); #else PlayerPrefs.SetFloat("Controls.MouseSensitivity", mMouseSensitivity); #endif #endif #if OPTION_INVERT_MOUSE_Y #if PACKAGE_INI_FILE iniFile.set ("Controls.InvertMouseY", mInvertMouseY, "Invert mouse Y: True/False"); #else PlayerPrefs.SetInt("Controls.InvertMouseY", mInvertMouseY ? 1 : 0); #endif #endif #if OPTION_INPUT_DEVICE #if PACKAGE_INI_FILE iniFile.set ("Controls.InputDevice", (int)inputDevice, "Input device: 0-"+(Enum.GetNames(typeof(InputDevice)).Length-1).ToString()); #else PlayerPrefs.SetInt("Controls.InputDevice", (int)inputDevice); #endif #endif #endregion #if PACKAGE_INI_FILE iniFile.save("Settings"); #endif }