Ejemplo n.º 1
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
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Saves settings
        /// </summary>
        public void Save()
        {
            SettingsStructure _settings = new SettingsStructure
            {
                Version        = currentAppVersion,
                Language       = Language,
                TosFolder      = TosFolder,
                Style          = Style,
                DisplayUnknown = DisplayUnknown,
                FirstStart     = FirstStart,
                IsGrouped      = IsGrouped,
                LoadDates      = LoadDates
            };

            if (JsonManager.CreateFile("settings.json", _settings) == false)
            {
                CauseError("There was an issue saving settings.");
            }
        }
Ejemplo n.º 3
0
        private static void LoadLanguageResource(string fileName)
        {
            Assembly assembly     = Assembly.GetExecutingAssembly();
            string   resourceName = assembly.GetManifestResourceNames().Single(str => str.EndsWith(fileName));

            using (Stream stream = assembly.GetManifestResourceStream(resourceName))
            {
                if (stream == null)
                {
                    return;
                }

                using (StreamReader reader = new StreamReader(stream))
                {
                    string _data = reader.ReadToEnd();

                    string langName = fileName.Remove(fileName.Length - 5);

                    LanguageDataObject langObj = JsonManager.LoadString <LanguageDataObject>(_data);

                    translationData.Add(langName.ToLower(), langObj);
                }
            }
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Removes Addon folder
 /// </summary>
 private static void RemoveAddonFolder(AddonsObject addon)
 {
     JsonManager.DeleteFolder(MainWindow.settings.TosAddonFolder + @"\" + addon.file);
 }
Ejemplo n.º 5
0
        /*private void _ToSFolderCheck()
         * {
         *      ToSError.Content = "";
         *      hasValidToSFolder = true;
         *      settings.GenerateTosFolders();
         *      AddTabManagers();
         *      _timer.Start();
         *
         *      LoadingCanvas.Visibility = Visibility.Visible;
         *      LoadingLabel.Content = "Collecting Addon Data";
         *
         *      LoadingFunLabel.Content = funLabels[new Random(Guid.NewGuid().GetHashCode()).Next(0, funLabels.Count)];
         *
         *      Timer aTimer = new Timer();
         *      aTimer.Elapsed += (sender, e) => OnTimedEvent(sender, e, this);
         *      aTimer.Interval = 2000;
         *      aTimer.Enabled = true;
         *
         *      WaitForManagers();
         * }*/

        private void ToSFolderCheck()
        {
            bool folderError = false;

            Debug.WriteLine("Checking Folder: " + settings.TosFolder);

            if (!JsonManager.DirectoryExists(settings.TosFolder))
            {
                Debug.WriteLine("Folder doesn't exist");
                folderError = true;
            }

            if (!JsonManager.DirectoryExists(settings.TosFolder + @"\release"))
            {
                Debug.WriteLine("Folder release doesn't exist");
                folderError = true;
            }

            if (!JsonManager.FileExists(settings.TosFolder + @"\release\Client_tos.exe"))
            {
                Debug.WriteLine("Client.exe doesn't exist");
                folderError = true;
            }

            if (!JsonManager.DirectoryExists(settings.TosFolder + @"\data"))
            {
                Debug.WriteLine("Folder data doesn't exist");
                folderError = true;
            }

            if (folderError)
            {
                ToSError.Content = new Run(AddonManager.Language.Translate("SETTINGS.INVALID_FOLDER"))
                {
                    FontWeight = FontWeights.Bold, Foreground = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0))
                };
                hasValidToSFolder = false;
            }
            else
            {
                ToSError.Content  = "";
                hasValidToSFolder = true;
                settings.GenerateTosFolders();
                AddTabManagers();
                _timer.Start();

                //if (settings.FirstStart)
                {
                    LoadingCanvas.Visibility = Visibility.Visible;
                    LoadingLabel.Content     = "Collecting Addon Data";

                    LoadingFunLabel.Content =
                        funLabels[new Random(Guid.NewGuid().GetHashCode()).Next(0, funLabels.Count)];

                    Timer aTimer = new Timer();
                    aTimer.Elapsed += (sender, e) => OnTimedEvent(sender, e, this);
                    aTimer.Interval = 5000;
                    aTimer.Enabled  = true;

                    WaitForManagers();
                }
            }
        }