@@ -391,12 +391,12 @@ internal void AddDespawnedInSceneNetworkObjects()
391391 /// <param name="networkObject"></param>
392392 internal void AddNetworkObjectForSynch ( uint sceneIndex , NetworkObject networkObject )
393393 {
394- if ( ! m_SceneNetworkObjects . ContainsKey ( sceneIndex ) )
394+ if ( ! m_SceneNetworkObjects . TryGetValue ( sceneIndex , out var sceneNetworkObject ) )
395395 {
396- m_SceneNetworkObjects . Add ( sceneIndex , new List < NetworkObject > ( ) ) ;
396+ sceneNetworkObject = new List < NetworkObject > ( ) ;
397+ m_SceneNetworkObjects . Add ( sceneIndex , sceneNetworkObject ) ;
397398 }
398-
399- m_SceneNetworkObjects [ sceneIndex ] . Add ( networkObject ) ;
399+ sceneNetworkObject . Add ( networkObject ) ;
400400 }
401401
402402 /// <summary>
@@ -581,7 +581,7 @@ private unsafe void CopyInternalBuffer(ref FastBufferWriter writer)
581581 /// </summary>
582582 private void WriteSceneSynchronizationData ( FastBufferWriter writer )
583583 {
584- var builder = ( StringBuilder ) null ;
584+ StringBuilder builder = null ;
585585 if ( EnableSerializationLogs )
586586 {
587587 builder = new StringBuilder ( ) ;
@@ -669,7 +669,7 @@ private void WriteSceneSynchronizationData(FastBufferWriter writer)
669669 /// </summary>
670670 private void SerializeScenePlacedObjects ( FastBufferWriter writer )
671671 {
672- var numberOfObjects = ( ushort ) 0 ;
672+ ushort numberOfObjects = 0 ;
673673 var headPosition = writer . Position ;
674674
675675 // Write our count placeholder (must not be packed!)
@@ -695,10 +695,10 @@ private void SerializeScenePlacedObjects(FastBufferWriter writer)
695695 SortObjectsToSync ( ) ;
696696
697697 // Serialize the sorted objects to sync.
698- foreach ( var objectToSycn in m_NetworkObjectsSync )
698+ foreach ( var objectToSync in m_NetworkObjectsSync )
699699 {
700700 // Serialize the NetworkObject
701- var serializedObject = objectToSycn . Serialize ( TargetClientId , distributedAuthority ) ;
701+ var serializedObject = objectToSync . Serialize ( TargetClientId , distributedAuthority ) ;
702702 serializedObject . Serialize ( writer ) ;
703703 numberOfObjects ++ ;
704704 }
@@ -957,7 +957,7 @@ private void WriteClientReSynchronizationData(FastBufferWriter writer)
957957 /// <returns></returns>
958958 internal bool ClientNeedsReSynchronization ( )
959959 {
960- return ( m_NetworkObjectsToBeRemoved . Count > 0 ) ;
960+ return m_NetworkObjectsToBeRemoved . Count > 0 ;
961961 }
962962
963963 /// <summary>
@@ -1054,15 +1054,10 @@ private void DeserializeDespawnedInScenePlacedNetworkObjects()
10541054 // Since this is a NetworkObject that was never spawned, we just need to send a notification
10551055 // out that it was despawned so users can make adjustments
10561056 despawnedObject . InvokeBehaviourNetworkDespawn ( ) ;
1057- if ( ! m_NetworkManager . SceneManager . ScenePlacedObjects . ContainsKey ( globalObjectIdHash ) )
1058- {
1059- m_NetworkManager . SceneManager . ScenePlacedObjects . Add ( globalObjectIdHash , new Dictionary < NetworkSceneHandle , NetworkObject > ( ) ) ;
1060- }
10611057
1062- if ( ! m_NetworkManager . SceneManager . ScenePlacedObjects [ globalObjectIdHash ] . ContainsKey ( despawnedObject . GetSceneOriginHandle ( ) ) )
1063- {
1064- m_NetworkManager . SceneManager . ScenePlacedObjects [ globalObjectIdHash ] . Add ( despawnedObject . GetSceneOriginHandle ( ) , despawnedObject ) ;
1065- }
1058+ m_NetworkManager . SceneManager . ScenePlacedObjects . TryAdd ( globalObjectIdHash , new Dictionary < NetworkSceneHandle , NetworkObject > ( ) ) ;
1059+
1060+ m_NetworkManager . SceneManager . ScenePlacedObjects [ globalObjectIdHash ] . TryAdd ( despawnedObject . GetSceneOriginHandle ( ) , despawnedObject ) ;
10661061 }
10671062 else
10681063 {
@@ -1080,7 +1075,7 @@ private void DeserializeDespawnedInScenePlacedNetworkObjects()
10801075 /// <param name="networkManager"></param>
10811076 internal void SynchronizeSceneNetworkObjects ( NetworkManager networkManager )
10821077 {
1083- var builder = ( StringBuilder ) null ;
1078+ StringBuilder builder = null ;
10841079 if ( EnableSerializationLogs )
10851080 {
10861081 builder = new StringBuilder ( ) ;
@@ -1221,7 +1216,7 @@ private void SerializeObjectsMovedIntoNewScene(FastBufferWriter writer)
12211216 writer . WriteValueSafe ( sceneManager . ObjectsMigratedIntoNewScene . Count ) ;
12221217 foreach ( var sceneHandleObjects in sceneManager . ObjectsMigratedIntoNewScene )
12231218 {
1224- if ( ! sceneManager . ObjectsMigratedIntoNewScene [ sceneHandleObjects . Key ] . ContainsKey ( ownerId ) )
1219+ if ( ! sceneHandleObjects . Value . ContainsKey ( ownerId ) )
12251220 {
12261221 throw new Exception ( $ "Trying to send object scene migration for Client-{ ownerId } but the client has no entries to send!") ;
12271222 }
@@ -1258,10 +1253,7 @@ private void DeserializeObjectsMovedIntoNewScene(FastBufferReader reader)
12581253 sceneManager . ObjectsMigratedIntoNewScene . Add ( sceneHandle , migratedObjects ) ;
12591254 }
12601255
1261- if ( ! migratedObjects . ContainsKey ( ownerID ) )
1262- {
1263- migratedObjects . Add ( ownerID , new List < NetworkObject > ( ) ) ;
1264- }
1256+ migratedObjects . TryAdd ( ownerID , new List < NetworkObject > ( ) ) ;
12651257
12661258 reader . ReadValueSafe ( out int objectCount ) ;
12671259 for ( int j = 0 ; j < objectCount ; j ++ )
@@ -1298,7 +1290,6 @@ private void DeferObjectsMovedIntoNewScene(FastBufferReader reader)
12981290 ObjectsMigratedTable = new Dictionary < NetworkSceneHandle , List < ulong > > ( ) ,
12991291 } ;
13001292
1301-
13021293 reader . ReadValueSafe ( out int numberOfScenes ) ;
13031294 for ( int i = 0 ; i < numberOfScenes ; i ++ )
13041295 {
@@ -1332,10 +1323,9 @@ internal void ProcessDeferredObjectSceneChangedEvents()
13321323 migratedObjects = new Dictionary < ulong , List < NetworkObject > > ( ) ;
13331324 sceneManager . ObjectsMigratedIntoNewScene . Add ( keyEntry . Key , migratedObjects ) ;
13341325 }
1335- if ( ! migratedObjects . ContainsKey ( objectsMovedEvent . OwnerId ) )
1336- {
1337- migratedObjects . Add ( objectsMovedEvent . OwnerId , new List < NetworkObject > ( ) ) ;
1338- }
1326+
1327+ migratedObjects . TryAdd ( objectsMovedEvent . OwnerId , new List < NetworkObject > ( ) ) ;
1328+ var objectList = migratedObjects [ objectsMovedEvent . OwnerId ] ;
13391329
13401330 foreach ( var objectId in keyEntry . Value )
13411331 {
@@ -1345,9 +1335,9 @@ internal void ProcessDeferredObjectSceneChangedEvents()
13451335 continue ;
13461336 }
13471337
1348- if ( ! migratedObjects [ objectsMovedEvent . OwnerId ] . Contains ( networkObject ) )
1338+ if ( ! objectList . Contains ( networkObject ) )
13491339 {
1350- migratedObjects [ objectsMovedEvent . OwnerId ] . Add ( networkObject ) ;
1340+ objectList . Add ( networkObject ) ;
13511341 }
13521342 }
13531343 }
0 commit comments