File tree Expand file tree Collapse file tree 1 file changed +8
-11
lines changed
Packages/com.unity.multiplayer.samples.coop/Utilities/SceneManagement Expand file tree Collapse file tree 1 file changed +8
-11
lines changed Original file line number Diff line number Diff line change @@ -98,10 +98,14 @@ void UpdateTrackersClientRpc()
98
98
ProgressTrackers . Clear ( ) ;
99
99
foreach ( var tracker in FindObjectsOfType < NetworkedLoadingProgressTracker > ( ) )
100
100
{
101
- ProgressTrackers [ tracker . OwnerClientId ] = tracker ;
102
- if ( tracker . OwnerClientId == NetworkManager . LocalClientId )
101
+ // If a tracker is despawned but not destroyed yet, don't add it
102
+ if ( tracker . IsSpawned )
103
103
{
104
- LocalProgress = Mathf . Max ( m_LocalProgress , LocalProgress ) ;
104
+ ProgressTrackers [ tracker . OwnerClientId ] = tracker ;
105
+ if ( tracker . OwnerClientId == NetworkManager . LocalClientId )
106
+ {
107
+ LocalProgress = Mathf . Max ( m_LocalProgress , LocalProgress ) ;
108
+ }
105
109
}
106
110
}
107
111
}
@@ -127,15 +131,8 @@ void RemoveTracker(ulong clientId)
127
131
var tracker = ProgressTrackers [ clientId ] ;
128
132
ProgressTrackers . Remove ( clientId ) ;
129
133
tracker . NetworkObject . Despawn ( ) ;
130
- // This makes sure that clients received the Despawn message before the RPC.
131
- StartCoroutine ( WaitBeforeSendingRPC ( ) ) ;
134
+ UpdateTrackersClientRpc ( ) ;
132
135
}
133
136
}
134
-
135
- IEnumerator WaitBeforeSendingRPC ( )
136
- {
137
- yield return null ;
138
- UpdateTrackersClientRpc ( ) ;
139
- }
140
137
}
141
138
}
You can’t perform that action at this time.
0 commit comments