Skip to content

Commit 08be50d

Browse files
committed
refactir: TryAdd usage + small clanup
1 parent 4cdc76f commit 08be50d

1 file changed

Lines changed: 20 additions & 30 deletions

File tree

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

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)