示例#1
0
        /// <summary>
        /// Generates ToS folder structure for easy accessibility
        /// </summary>
        public void GenerateTosFolders()
        {
            if (JsonManager.DirectoryExists(TosFolder + @"\release"))
            {
                TosReleaseFolder = TosFolder + @"\release\";
            }

            if (JsonManager.DirectoryExists(TosFolder + @"\data"))
            {
                TosDataFolder = TosFolder + @"\data\";
            }

            if (JsonManager.DirectoryExists(TosFolder + @"\addons"))
            {
                TosAddonFolder = TosFolder + @"\addons\";
            }
            else
            {
                JsonManager.CreateFolder(TosFolder + @"\addons");
                TosAddonFolder = TosFolder + @"\addons\";
            }

            if (JsonManager.DirectoryExists(TosDataFolder))
            {
                TosLuaFolder = TosReleaseFolder + @"\lua\";
            }
        }
        /*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();
                }
            }
        }