Пример #1
0
        private async Task SaveAndExit()
        {
            if (_useDiscordRpc && !Properties.Settings.Default.UseDiscordRpc) // previously enabled
            {
                DiscordIntegration.Deinitialize();
            }

            if (Languages_CbBox.SelectedIndex > -1 && Languages_CbBox.SelectedItem is ComboBoxViewModel cb && cb.Id != Properties.Settings.Default.AssetsLanguage)
            {
                Properties.Settings.Default.AssetsLanguage = cb.Id;
                await Localizations.SetLocalization(Properties.Settings.Default.AssetsLanguage, true).ConfigureAwait(false);
            }
            if (Properties.Settings.Default.AssetsJsonType != Json_CbBox.SelectedIndex)
            {
                Properties.Settings.Default.AssetsJsonType = Json_CbBox.SelectedIndex;
                Assets.ClearCachedFiles();
            }

            if (!_inputPath.Equals(Properties.Settings.Default.PakPath) ||
                !_outputPath.Equals(Properties.Settings.Default.OutputPath) ||
                Properties.Settings.Default.ProgramLanguage != FLanguages_CbBox.SelectedIndex)
            {
                Properties.Settings.Default.ProgramLanguage = FLanguages_CbBox.SelectedIndex;
                DarkMessageBoxHelper.Show(Properties.Resources.PathChangedRestart, Properties.Resources.PathChanged, MessageBoxButton.OK, MessageBoxImage.Information);
                DebugHelper.WriteLine("{0} {1} {2}", "[FModel]", "[Restarting]", "Path(s) changed");

                Properties.Settings.Default.Save();
                Process.Start(Process.GetCurrentProcess().MainModule.FileName);
                Application.Current.Shutdown();
            }
            else
            {
                Properties.Settings.Default.Save();
                DebugHelper.WriteUserSettings();
                DebugHelper.WriteLine("{0} {1} {2}", "[FModel]", "[Window]", "Closing General Settings");
            }
        }