public async Task <ConnectResult> SendAccountAuthentication(ConnectData connectData) { var response = new SocketMessage(); if (_socketManager.IsReconnecting) { response = await SendStandardMessage( RouteProvider.AUTHENTICATION_RECONNECT, RouteProvider.AuthenticationReconnect(connectData, _socketManager.ActiveCharacterId)); } else { response = await SendStandardMessage(RouteProvider.LOGIN, RouteProvider.Login(connectData)); } var loginData = SocketUtilities.ParseDataFromResponse <LoginDataDTO>(response.Response); ConnectResult connectResult = _socketManager.GetConnectResult(); connectResult.IsConnected = true; connectResult.AccessToken = loginData?.AccessToken; connectResult.TW2AccountId = loginData?.PlayerId; _socketManager.ConnectData.AccessToken = loginData?.AccessToken; DataEvents.InvokeLoginDataAvailable(loginData); DataEvents.InvokeConnectionResult(connectResult); return(connectResult); }