diff --git a/Assets/Scripts/ConnectionManagement/ConnectionManager.cs b/Assets/Scripts/ConnectionManagement/ConnectionManager.cs index d1e98e7b0..813618b54 100644 --- a/Assets/Scripts/ConnectionManagement/ConnectionManager.cs +++ b/Assets/Scripts/ConnectionManagement/ConnectionManager.cs @@ -93,8 +93,7 @@ void Start() m_CurrentState = m_Offline; - NetworkManager.OnClientConnectedCallback += OnClientConnectedCallback; - NetworkManager.OnClientDisconnectCallback += OnClientDisconnectCallback; + NetworkManager.OnConnectionEvent += OnConnectionEvent; NetworkManager.OnServerStarted += OnServerStarted; NetworkManager.ConnectionApprovalCallback += ApprovalCheck; NetworkManager.OnTransportFailure += OnTransportFailure; @@ -103,8 +102,7 @@ void Start() void OnDestroy() { - NetworkManager.OnClientConnectedCallback -= OnClientConnectedCallback; - NetworkManager.OnClientDisconnectCallback -= OnClientDisconnectCallback; + NetworkManager.OnConnectionEvent -= OnConnectionEvent; NetworkManager.OnServerStarted -= OnServerStarted; NetworkManager.ConnectionApprovalCallback -= ApprovalCheck; NetworkManager.OnTransportFailure -= OnTransportFailure; @@ -123,14 +121,17 @@ internal void ChangeState(ConnectionState nextState) m_CurrentState.Enter(); } - void OnClientDisconnectCallback(ulong clientId) + void OnConnectionEvent(NetworkManager networkManager, ConnectionEventData connectionEventData) { - m_CurrentState.OnClientDisconnect(clientId); - } - - void OnClientConnectedCallback(ulong clientId) - { - m_CurrentState.OnClientConnected(clientId); + switch (connectionEventData.EventType) + { + case ConnectionEvent.ClientConnected: + m_CurrentState.OnClientConnected(connectionEventData.ClientId); + break; + case ConnectionEvent.ClientDisconnected: + m_CurrentState.OnClientDisconnect(connectionEventData.ClientId); + break; + } } void OnServerStarted() diff --git a/Assets/Scripts/Gameplay/GameState/ServerBossRoomState.cs b/Assets/Scripts/Gameplay/GameState/ServerBossRoomState.cs index 3eb16ad6d..ca0610fd1 100644 --- a/Assets/Scripts/Gameplay/GameState/ServerBossRoomState.cs +++ b/Assets/Scripts/Gameplay/GameState/ServerBossRoomState.cs @@ -79,7 +79,7 @@ void OnNetworkSpawn() m_PersistentGameState.Reset(); m_LifeStateChangedEventMessageSubscriber.Subscribe(OnLifeStateChangedEventMessage); - NetworkManager.Singleton.OnClientDisconnectCallback += OnClientDisconnect; + NetworkManager.Singleton.OnConnectionEvent += OnConnectionEvent; NetworkManager.Singleton.SceneManager.OnLoadEventCompleted += OnLoadEventCompleted; NetworkManager.Singleton.SceneManager.OnSynchronizeComplete += OnSynchronizeComplete; @@ -93,7 +93,7 @@ void OnNetworkDespawn() m_LifeStateChangedEventMessageSubscriber.Unsubscribe(OnLifeStateChangedEventMessage); } - NetworkManager.Singleton.OnClientDisconnectCallback -= OnClientDisconnect; + NetworkManager.Singleton.OnConnectionEvent -= OnConnectionEvent; NetworkManager.Singleton.SceneManager.OnLoadEventCompleted -= OnLoadEventCompleted; NetworkManager.Singleton.SceneManager.OnSynchronizeComplete -= OnSynchronizeComplete; } @@ -138,12 +138,15 @@ void OnLoadEventCompleted(string sceneName, LoadSceneMode loadSceneMode, List