Skip to content

Commit 2e79aae

Browse files
style
condensing the logic and pulling out commonly executed script from the previous logical checks.
1 parent a0ec8fa commit 2e79aae

File tree

1 file changed

+16
-32
lines changed

1 file changed

+16
-32
lines changed

com.unity.netcode.gameobjects/Runtime/SceneManagement/NetworkSceneManager.cs

Lines changed: 16 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2595,42 +2595,26 @@ private void HandleSessionOwnerEvent(uint sceneEventId, ulong clientId)
25952595
case SceneEventType.SynchronizeComplete:
25962596
{
25972597
// At this point the client is considered fully "connected"
2598-
if ((NetworkManager.DistributedAuthorityMode && NetworkManager.LocalClient.IsSessionOwner) || !NetworkManager.DistributedAuthorityMode)
2598+
// Make sure we have a NetworkClient for this synchronized client
2599+
if (!NetworkManager.ConnectedClients.ContainsKey(clientId))
25992600
{
2600-
// Notify the local server that a client has finished synchronizing
2601-
OnSceneEvent?.Invoke(new SceneEvent()
2602-
{
2603-
SceneEventType = sceneEventData.SceneEventType,
2604-
SceneName = string.Empty,
2605-
ClientId = clientId
2606-
});
2607-
2608-
// Make sure we have a NetworkClient for this synchronized client
2609-
if (!NetworkManager.ConnectedClients.ContainsKey(clientId))
2610-
{
2611-
NetworkManager.ConnectionManager.AddClient(clientId);
2612-
}
2613-
// Mark this client as being connected
2614-
NetworkManager.ConnectedClients[clientId].IsConnected = true;
2601+
NetworkManager.ConnectionManager.AddClient(clientId);
26152602
}
2616-
else
2617-
{
2618-
// Notify the local server that a client has finished synchronizing
2619-
OnSceneEvent?.Invoke(new SceneEvent()
2620-
{
2621-
SceneEventType = sceneEventData.SceneEventType,
2622-
SceneName = string.Empty,
2623-
ClientId = clientId
2624-
});
2603+
// Mark this client as being connected
2604+
NetworkManager.ConnectedClients[clientId].IsConnected = true;
26252605

2626-
// Make sure we have a NetworkClient for this synchronized client
2627-
if (!NetworkManager.ConnectedClients.ContainsKey(clientId))
2628-
{
2629-
NetworkManager.ConnectionManager.AddClient(clientId);
2630-
}
2631-
// Mark this client as being connected
2632-
NetworkManager.ConnectedClients[clientId].IsConnected = true;
2606+
// Notify the local server that a client has finished synchronizing
2607+
OnSceneEvent?.Invoke(new SceneEvent()
2608+
{
2609+
SceneEventType = sceneEventData.SceneEventType,
2610+
SceneName = string.Empty,
2611+
ClientId = clientId
2612+
});
26332613

2614+
// For non-authority clients in a distributed authority session, we show hidden objects,
2615+
// we distribute NetworkObjects, and then we end the scene event.
2616+
if (NetworkManager.DistributedAuthorityMode && !NetworkManager.LocalClient.IsSessionOwner)
2617+
{
26342618
// Show any NetworkObjects that are:
26352619
// - Hidden from the session owner
26362620
// - Owned by this client

0 commit comments

Comments
 (0)