Skip to content

Commit 523e077

Browse files
committed
fixing user-requested shutdown
(cherry picked from commit 2accfe4)
1 parent 6237f47 commit 523e077

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

Assets/Scripts/ApplicationLifecycle/ApplicationController.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -143,11 +143,7 @@ private void LeaveSession(QuitGameSessionMessage msg)
143143
if (msg.UserRequested)
144144
{
145145
// first disconnect then return to menu
146-
var gameNetPortal = GameNetPortal.Instance;
147-
if (gameNetPortal != null)
148-
{
149-
gameNetPortal.RequestDisconnect();
150-
}
146+
m_ConnectionManager.RequestShutdown();
151147
}
152148
SceneLoaderWrapper.Instance.LoadScene("MainMenu", useNetworkSceneManager: false);
153149
}

Assets/Scripts/Gameplay/ConnectionManagement/ConnectionManager.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ public bool StartHostIp(string playerName, string ipaddress, int port)
155155

156156
public void RequestShutdown()
157157
{
158+
DisconnectReason.SetDisconnectReason(ConnectStatus.UserRequestedDisconnect);
158159
m_Logics[m_CurrentState].OnUserRequestedShutdown();
159160
}
160161

Assets/Scripts/Gameplay/ConnectionManagement/ConnectionState/ConnectedConnectionState.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ public override void OnClientDisconnect(ulong clientId)
3535
case ConnectStatus.UserRequestedDisconnect:
3636
case ConnectStatus.HostEndedSession:
3737
m_QuitGameSessionPublisher.Publish(new QuitGameSessionMessage() {UserRequested = false}); // go through the normal leave flow
38+
m_ConnectionManager.ChangeState(ConnectionStateType.Offline);
3839
break;
3940
default:
4041
// try reconnecting
@@ -46,5 +47,11 @@ public override void OnClientDisconnect(ulong clientId)
4647
m_ConnectionManager.DisconnectReason.Clear();
4748
}
4849
}
50+
51+
public override void OnUserRequestedShutdown()
52+
{
53+
m_ConnectionManager.NetworkManager.Shutdown();
54+
m_ConnectionManager.ChangeState(ConnectionStateType.Offline);
55+
}
4956
}
5057
}

0 commit comments

Comments
 (0)