示例#1
0
        /// <summary>
        /// Loads JSON Setting file from %programfolder%
        /// </summary>
        public void LoadSettings()
        {
            SettingsStructure _settings = new SettingsStructure
            {
                //defaults
                Version        = currentAppVersion,
                Language       = "en",
                TosFolder      = @"C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\",
                Style          = "default",
                DisplayUnknown = false,
                FirstStart     = true,
                IsGrouped      = true,
                LoadDates      = false
            };

            SettingsStructure _jsonSettings = JsonManager.LoadFile <SettingsStructure>("settings.json");

            if (_jsonSettings == null)
            {
                //Any exception we create a new settings file
                if (JsonManager.CreateFile("settings.json", _settings) == false)
                {
                    CauseError("There was an issue creating the settings file.");
                    return;
                }
            }
            else
            {
                _settings = _jsonSettings;
            }


            InitSettings(_settings);
        }
示例#2
0
        /// <summary>
        /// Loads JSON language files from %programfolder%/lang/
        /// </summary>
        public static void Init()
        {
            translationData = new Dictionary <string, LanguageDataObject>();

            //Preload language
            LoadLanguageResource("en.json");
            LoadLanguageResource("es.json");
            LoadLanguageResource("fr.json");
            LoadLanguageResource("ja.json");
            LoadLanguageResource("ko.json");
            LoadLanguageResource("pl.json");
            LoadLanguageResource("pt-BR.json");

            //We still load them after, for people who want to add new languages or change existing ones.
            try
            {
                var dirFiles = Directory.GetFiles(JsonManager.ProgramFolder + "lang/", "*.json");

                foreach (string file in dirFiles)
                {
                    string fileName = Path.GetFileName(file);
                    string langName = fileName.Remove(fileName.Length - 5);

                    Debug.WriteLine("Trying: " + langName);

                    LanguageDataObject langObj = JsonManager.LoadFile <LanguageDataObject>("lang/" + fileName);

                    //Overwrite if it exists, otherwise add
                    if (translationData.ContainsKey(langName.ToLower()))
                    {
                        translationData[langName.ToLower()] = langObj;
                    }
                    else
                    {
                        translationData.Add(langName.ToLower(), langObj);
                    }

                    Debug.WriteLine("Added Language: " + langName);
                }
            }
            catch (Exception)
            {
                //This is fine
            }
        }