Esempio n. 1
0
        /// <summary>
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MetroWindowContentRendered(object sender, EventArgs e)
        {
            if (this.IsRendered)
            {
                return;
            }

            this.IsRendered = true;

            if (string.IsNullOrWhiteSpace(Settings.Default.UILanguage))
            {
                Settings.Default.UILanguage = Settings.Default.GameLanguage;
            }
            else
            {
                LocaleHelper.Update(Settings.Default.Culture);
            }

            DispatcherHelper.Invoke(
                delegate {
                Initializer.LoadAvailableSources();
                Initializer.LoadAvailablePlugins();
                Initializer.CheckUpdates();
                Initializer.SetGlobals();

                Initializer.StartMemoryWorkers();
                if (Settings.Default.EnableNetworkReading && !Initializer.NetworkWorking)
                {
                    Initializer.StartNetworkWorker();
                }
            });

            Initializer.GetHomePlugin();
            Initializer.UpdatePluginConstants();
        }
Esempio n. 2
0
        /// <summary>
        /// </summary>
        /// <param name="sender"> </param>
        /// <param name="e"> </param>
        private static void SettingsPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            Logging.Log(Logger, $"PropertyChanged : {e.PropertyName}");
            try {
                switch (e.PropertyName)
                {
                case "CharacterName":
                    Constants.CharacterName = Settings.Default.CharacterName;
                    break;

                case "GameLanguage":
                    Constants.GameLanguage = Settings.Default.GameLanguage;
                    break;

                case "UILanguage":
                    if (AppViewModel.Instance.UILanguages.Any(ui => ui.Language == Settings.Default.UILanguage))
                    {
                        UILanguage uiLanguage = AppViewModel.Instance.UILanguages.First(ui => ui.Language == Settings.Default.UILanguage);
                        Constants.CultureInfo = Settings.Default.Culture = uiLanguage.CultureInfo;
                        LocaleHelper.Update(Settings.Default.Culture);
                    }

                    break;

                case "ServerName":
                    Constants.ServerName = Settings.Default.ServerName;
                    break;

                case "EnableNLog":
                    Common.Constants.EnableNLog = Constants.EnableNLog = Settings.Default.EnableNLog;
                    break;

                case "EnableNetworkReading":
                    Common.Constants.EnableNetworkReading = Constants.EnableNetworkReading = Settings.Default.EnableNetworkReading;
                    if (Settings.Default.EnableNetworkReading)
                    {
                        if (!Initializer.NetworkWorking && Constants.IsOpen)
                        {
                            Initializer.StartNetworkWorker();
                        }
                    }
                    else
                    {
                        Initializer.StopNetworkWorker();
                    }

                    break;

                case "NetworkUseWinPCap":
                    if (Initializer.NetworkWorking)
                    {
                        Initializer.RefreshNetworkWorker();
                    }

                    break;

                case "EnableHelpLabels":
                    Constants.EnableHelpLabels = Settings.Default.EnableHelpLabels;
                    break;

                case "Theme":
                    Constants.Theme = Settings.Default.Theme;
                    break;

                case "UIScale":
                    Constants.UIScale = Settings.Default.UIScale;
                    break;

                case "TopMost":
                    if (ShellView.View != null)
                    {
                        ShellView.View.Topmost = Settings.Default.TopMost;
                    }

                    break;

                case "DefaultAudioDevice":
                    if (Settings.Default.DefaultAudioDevice == "System Default")
                    {
                        Common.Constants.DefaultAudioDevice = Guid.Empty;
                    }
                    else
                    {
                        foreach (DirectSoundDeviceInfo audioDevice in AvailableAudioDevices.Where(device => device.Guid != Guid.Empty))
                        {
                            if (audioDevice.Description == Settings.Default.DefaultAudioDevice)
                            {
                                Common.Constants.DefaultAudioDevice = audioDevice.Guid;
                            }
                        }
                    }

                    break;
                }
            }
            catch (Exception ex) {
                Logging.Log(Logger, new LogItem(ex, true));
            }
        }