Skip to content

Commit 6b5264e

Browse files
committed
using a more general type of exception
due to the fact that auth service can emit exceptions of multiple types - to avoid missing a handler
1 parent 2eb198a commit 6b5264e

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

Assets/BossRoom/Scripts/Client/UI/UnityServicesUIHandler.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
using Unity.Multiplayer.Samples.BossRoom.Client;
33
using Unity.Multiplayer.Samples.BossRoom.Shared.Infrastructure;
44
using Unity.Multiplayer.Samples.BossRoom.Shared.Net.UnityServices.Infrastructure;
5+
using Unity.Services.Authentication;
6+
using Unity.Services.Core;
57
using Unity.Services.Lobbies;
68
using UnityEngine;
79

@@ -44,7 +46,7 @@ void ServiceErrorHandler(UnityServiceErrorMessage error)
4446
{
4547
PopupPanel.ShowPopupPanel(
4648
"Authentication Error",
47-
$"{error.Message} \n\n tip: You can still use the Direct IP connection option.");
49+
$"{error.OriginalException.Message} \n tip: You can still use the Direct IP connection option.");
4850
break;
4951
}
5052
default:

Assets/BossRoom/Scripts/Shared/Net/UnityServices/Auth/AuthenticationServiceFacade.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,17 @@ void InjectDependencies(IPublisher<UnityServiceErrorMessage> unityServiceErrorMe
1818
m_UnityServiceErrorMessagePublisher = unityServiceErrorMessagePublisher;
1919
}
2020

21-
void OnServiceException(RequestFailedException e)
21+
void OnServiceException(Exception e)
2222
{
2323
Debug.LogWarning(e.Message);
24-
25-
var reason = $"{e.Message} ({e.InnerException?.Message})"; // Lobby error type, then HTTP error type.
26-
24+
var reason = $"{e.Message} ({e.InnerException?.Message})";
2725
m_UnityServiceErrorMessagePublisher.Publish(new UnityServiceErrorMessage("Authentication Error", reason, UnityServiceErrorMessage.Service.Authentication, e));
2826
}
2927

3028
public void DoSignInAsync(Action onSigninComplete, Action onFailed, InitializationOptions initializationOptions)
3129
{
3230
var task = TrySignIn(initializationOptions);
33-
UnityServiceCallsTaskWrapper.RunTask<RequestFailedException>(task, onSigninComplete, onFailed, OnServiceException);
31+
UnityServiceCallsTaskWrapper.RunTask<Exception>(task, onSigninComplete, onFailed, OnServiceException);
3432
}
3533

3634
async Task TrySignIn(InitializationOptions initializationOptions)

Assets/BossRoom/Scripts/Shared/Net/UnityServices/Infrastructure/Messages/UnityServiceErrorMessage.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Unity.Services.Core;
1+
using System;
22

33
namespace Unity.Multiplayer.Samples.BossRoom.Shared.Net.UnityServices.Infrastructure
44
{
@@ -13,9 +13,9 @@ public enum Service
1313
public string Title;
1414
public string Message;
1515
public Service AffectedService;
16-
public RequestFailedException OriginalException;
16+
public Exception OriginalException;
1717

18-
public UnityServiceErrorMessage(string title, string message, Service service, RequestFailedException originalException = null)
18+
public UnityServiceErrorMessage(string title, string message, Service service, Exception originalException = null)
1919
{
2020
Title = title;
2121
Message = message;

0 commit comments

Comments
 (0)