Skip to content

Commit 888fc2d

Browse files
adding popups to connect status message pattern
1 parent 6cd4bea commit 888fc2d

File tree

4 files changed

+19
-13
lines changed

4 files changed

+19
-13
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,13 @@ void OnConnectStatus(ConnectStatus status)
5151
case ConnectStatus.HostEndedSession:
5252
PopupManager.ShowPopupPanel("Disconnected From Host", "The host has ended the game session.");
5353
break;
54+
case ConnectStatus.StartHostFailed:
55+
PopupManager.ShowPopupPanel("Connection Failed", "Server failed to bind.");
56+
break;
57+
case ConnectStatus.StartClientFailed:
58+
PopupManager.ShowPopupPanel("Connection Failed",
59+
"Failed to connect to server and/or invalid network endpoint.");
60+
break;
5461
default:
5562
Debug.LogWarning($"New ConnectStatus {status} has been added, but no connect message defined for it.");
5663
break;

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,13 @@ public class IPConnectionWindow : MonoBehaviour
1919

2020
IPUIMediator m_IPUIMediator;
2121

22+
IPublisher<ConnectStatus> m_ConnectStatusPublisher;
23+
2224
[Inject]
23-
void InjectDependencies(IPUIMediator ipUIMediator)
25+
void InjectDependencies(IPUIMediator ipUIMediator, IPublisher<ConnectStatus> connectStatusPublisher)
2426
{
2527
m_IPUIMediator = ipUIMediator;
28+
m_ConnectStatusPublisher = connectStatusPublisher;
2629
}
2730

2831
void Awake()
@@ -49,8 +52,7 @@ public void ShowConnectingWindow()
4952

5053
void OnTimeElapsed()
5154
{
52-
PopupManager.ShowPopupPanel("Connection Failed",
53-
"Failed to connect to server and/or invalid network endpoint");
55+
m_ConnectStatusPublisher.Publish(ConnectStatus.StartClientFailed);
5456
Hide();
5557
m_IPUIMediator.DisableSignInSpinner();
5658
}

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,20 @@ public class IPUIMediator : MonoBehaviour
3737
NameGenerationData m_NameGenerationData;
3838
GameNetPortal m_GameNetPortal;
3939
ClientGameNetPortal m_ClientNetPortal;
40+
IPublisher<ConnectStatus> m_ConnectStatusPublisher;
4041

4142
[Inject]
4243
void InjectDependenciesAndInitialize(
4344
NameGenerationData nameGenerationData,
4445
GameNetPortal gameNetPortal,
45-
ClientGameNetPortal clientGameNetPortal
46+
ClientGameNetPortal clientGameNetPortal,
47+
IPublisher<ConnectStatus> connectStatusPublisher
4648
)
4749
{
4850
m_NameGenerationData = nameGenerationData;
4951
m_GameNetPortal = gameNetPortal;
5052
m_ClientNetPortal = clientGameNetPortal;
53+
m_ConnectStatusPublisher = connectStatusPublisher;
5154

5255
RegenerateName();
5356
}
@@ -81,7 +84,7 @@ public void HostIPRequest(string ip, string port)
8184
}
8285
else
8386
{
84-
PopupManager.ShowPopupPanel("Connection Failed", "Server failed to bind.");
87+
m_ConnectStatusPublisher.Publish(ConnectStatus.StartHostFailed);
8588
}
8689
}
8790

Assets/BossRoom/Scripts/Shared/Net/ConnectionManagement/GameNetPortal.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,8 @@ public enum ConnectStatus
2424
GenericDisconnect, //server disconnected, but no specific reason given.
2525
IncompatibleBuildType, //client build type is incompatible with server.
2626
HostEndedSession, //host intentionally ended the session.
27-
}
28-
29-
public enum OnlineMode
30-
{
31-
IpHost = 0, // The server is hosted directly and clients can join by ip address.
32-
UnityRelay = 1, // The server is hosted over a Unity Relay server and clients join by entering a join code.
33-
Unset = -1, // The hosting mode is not set yet.
34-
27+
StartHostFailed, // server failed to bind
28+
StartClientFailed // failed to connect to server and/or invalid network endpoint
3529
}
3630

3731
[Serializable]

0 commit comments

Comments
 (0)