public void Initialize() { #if DEBUG var fakeStartMenuItem = new MenuItem { Header = "Fake start" }; fakeStartMenuItem.Click += FakeStart_OnClick; LoginContextMenu.Items.Add(fakeStartMenuItem); #endif // Upgrade the stored settings if needed if (Properties.Settings.Default.UpgradeRequired) { Log.Information("Settings upgrade required..."); Properties.Settings.Default.Upgrade(); Properties.Settings.Default.UpgradeRequired = false; Properties.Settings.Default.Save(); } // Clean up invalid addons if (App.Settings.AddonList != null) { App.Settings.AddonList = App.Settings.AddonList.Where(x => !string.IsNullOrEmpty(x.Addon.Path)).ToList(); } App.Settings.EncryptArguments ??= true; App.Settings.AskBeforePatchInstall ??= true; var gateStatus = false; try { gateStatus = _launcher.GetGateStatus(); } catch { // ignored } if (!gateStatus) { WorldStatusPackIcon.Foreground = new SolidColorBrush(Color.FromRgb(242, 24, 24)); } var version = Util.GetAssemblyVersion(); if (Properties.Settings.Default.LastVersion != version) { new ChangelogWindow().ShowDialog(); Properties.Settings.Default.LastVersion = version; Properties.Settings.Default.Save(); } _accountManager = new AccountManager(App.Settings); var savedAccount = _accountManager.CurrentAccount; if (savedAccount != null) { SwitchAccount(savedAccount, false); } AutoLoginCheckBox.IsChecked = App.Settings.AutologinEnabled; if (App.Settings.UniqueIdCacheEnabled && Keyboard.Modifiers.HasFlag(ModifierKeys.Control)) { UniqueIdCache.Reset(); _launcher.Cache.Load(); Console.Beep(523, 150); // Feedback without popup } if (App.Settings.AutologinEnabled && savedAccount != null && !Keyboard.Modifiers.HasFlag(ModifierKeys.Shift)) { Log.Information("Engaging Autologin..."); try { HandleLogin(true); return; } catch (Exception ex) { new ErrorWindow(ex, Loc.Localize("CheckLoginInfo", "Additionally, please check your login information or try again."), "AutoLogin") .ShowDialog(); App.Settings.AutologinEnabled = false; _isLoggingIn = false; } } else if (Keyboard.Modifiers.HasFlag(ModifierKeys.Shift) || bool.Parse(Environment.GetEnvironmentVariable("XL_NOAUTOLOGIN") ?? "false")) { App.Settings.AutologinEnabled = false; AutoLoginCheckBox.IsChecked = false; } if (App.Settings.GamePath?.Exists != true) { var setup = new FirstTimeSetup(); setup.ShowDialog(); SettingsControl.ReloadSettings(); } Task.Run(SetupHeadlines); ProblemCheck.RunCheck(); Log.Information("MainWindow initialized."); Show(); Activate(); }
private void ResetCacheButton_OnClick(object sender, RoutedEventArgs e) { UniqueIdCache.Reset(); }