private void DoRequest(TaskCompletionSource <ISpinCredentials> task) { string login = PlayerPreferences.useGuest ? PlayerPreferences.guestLogin : PlayerPreferences.lastLogin; string password = PlayerPreferences.useGuest ? PlayerPreferences.guestPassword : PlayerPreferences.lastPassword; HaapiManager.ExecuteRequest(() => HaapiManager.accountApi.CreateTokenWithPassword(login, password, (long?)ApplicationConfig.GameAppId), delegate(RAccountApi <Token> res) { Log.Info("CreateTokenWithPassword success ! Login="******"C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\TEMPFastEnterMatch\\Auth\\ConnectionMethod\\ICredentialProvider.cs"); task.SetResult(new AnkamaTokenCredentials(res.Data.get__Token())); }, delegate(Exception exception) { ApiException val = exception as ApiException; if (val != null && val.get_ErrorCode() == 601) { Log.Error($"CreateTokenWithPassword error: {exception}", 284, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\TEMPFastEnterMatch\\Auth\\ConnectionMethod\\ICredentialProvider.cs"); ErrorAccountLogin val2 = JsonConvert.DeserializeObject <ErrorAccountLogin>((string)val.get_ErrorContent()); SpinConnectionError spinConnectionError = (val2 == null) ? null : HaapiHelper.From(val2); task.SetException(spinConnectionError ?? exception); } else { Log.Error($"CreateTokenWithPassword error: {exception}", 291, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\TEMPFastEnterMatch\\Auth\\ConnectionMethod\\ICredentialProvider.cs"); task.SetException(exception); } }); }
private void OnOpenConnectionFailed(IConnectionError obj) { UpdateStatus(Status.Disconnected); SpinConnectionError spinConnectionError = obj as SpinConnectionError; if (spinConnectionError != null) { string formattedText = TextCollectionUtility.AuthenticationErrorKeys.GetFormattedText(spinConnectionError.error); switch (spinConnectionError.error) { case SpinProtocol.ConnectionErrors.NickNameRequired: RequestNickname(); break; case SpinProtocol.ConnectionErrors.BadCredentials: case SpinProtocol.ConnectionErrors.InvalidAuthenticationInfo: case SpinProtocol.ConnectionErrors.SubscriptionRequired: case SpinProtocol.ConnectionErrors.AdminRightsRequired: case SpinProtocol.ConnectionErrors.AccountKnonwButBanned: case SpinProtocol.ConnectionErrors.AccountKnonwButBlocked: case SpinProtocol.ConnectionErrors.BetaAccessRequired: CreateDisconnectedPopup(formattedText, DisconnectionStrategy.ReturnToLoginAndChangeAccount); break; case SpinProtocol.ConnectionErrors.ServerTimeout: case SpinProtocol.ConnectionErrors.ServerError: case SpinProtocol.ConnectionErrors.AccountsBackendError: CreateDisconnectedPopup(formattedText, DisconnectionStrategy.ReturnToLogin); break; case SpinProtocol.ConnectionErrors.IpAddressRefused: CreateDisconnectedPopup(formattedText, DisconnectionStrategy.QuitApplication); break; default: throw new ArgumentOutOfRangeException(); } return; } ConnectionInterruptedError connectionInterruptedError = obj as ConnectionInterruptedError; if (connectionInterruptedError != null) { ServerDisconnectionInfo serverDisconnectionInfo = connectionInterruptedError.disconnectionInfo as ServerDisconnectionInfo; if (serverDisconnectionInfo != null) { Log.Info($"Disconnection occured during authentication {connectionInterruptedError.disconnectionInfo}", 209, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Network\\ConnectionHandler.cs"); string formattedText2 = TextCollectionUtility.DisconnectionReasonKeys.GetFormattedText(serverDisconnectionInfo.reason); CreateDisconnectedPopup(formattedText2, DisconnectionStrategy.ReturnToLogin); } else if (connectionInterruptedError.disconnectionInfo is NetworkDisconnectionInfo) { if (m_autoReconnect) { Reconnect(); return; } Log.Info($"Disconnection occured during authentication {connectionInterruptedError.disconnectionInfo}", 224, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Network\\ConnectionHandler.cs"); string cause = RuntimeData.FormattedText(94930); CreateDisconnectedPopup(cause, DisconnectionStrategy.ReturnToLogin); } return; } NetworkConnectionError networkConnectionError = obj as NetworkConnectionError; if (networkConnectionError != null) { if (m_autoReconnect) { Reconnect(); return; } Log.Info($"Error occured during authentication {networkConnectionError.exception}", 244, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Network\\ConnectionHandler.cs"); string cause2 = RuntimeData.FormattedText(34942); CreateDisconnectedPopup(cause2, DisconnectionStrategy.ReturnToLogin); } else { Log.Info($"Error while connecting: {obj}", 251, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Network\\ConnectionHandler.cs"); string cause3 = RuntimeData.FormattedText(36698, obj.ToString()); CreateDisconnectedPopup(cause3, DisconnectionStrategy.ReturnToLogin); } }