public SettingsPage(ILauncherConfigProvider launcherConfigProvider) { InitializeComponent(); _launcherConfigProvider = launcherConfigProvider; argsTextBox.Text = _launcherConfigProvider.GetGameArguments(); }
private async void startGameButton_Click(object sender, EventArgs e) { string username = (string)accountsListBox.SelectedItem; Account account = _launcherConfigProvider.GetAccounts().Find( acc => acc.Username == username); if (account == null) { MessageBox.Show("Select account."); return; } var jwt = new JwtSecurityToken(account.Token.AccessToken); try { long validTo = jwt.ValidTo.Ticks; if (DateTime.Now.Ticks > validTo) { Token token = await _forgameAuthProvider.Refresh(account.Token.RefreshToken); _launcherConfigProvider.AddOrUpdateAccount(new Account { Username = username, Token = token }); account.Token = token; } GameTokenCode gameTokenCode; try { gameTokenCode = await _gameAuthProvider.GetGameTokenCode( account.Token.AccessToken); } catch (Exception) { MessageBox.Show("Something went wrong. Re-login to your account."); return; } _gameManager.Launch("bns-ru", new GameLaunchData { Login = gameTokenCode.Login, Password = gameTokenCode.Password, Version = _launcherConfigProvider.GetGameVersion(), Arguments = _launcherConfigProvider.GetGameArguments() }); if (_launcherConfigProvider.GetAutoCloseLauncher()) { var mainForm = (MainForm)Parent; mainForm.Close(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }