@@ -120,7 +120,7 @@ public bool AddHandler(uint globalObjectIdHash, INetworkPrefabInstanceHandler in
120120 public void SetInstantiationData < T > ( GameObject gameObject , T instantiationData ) where T : struct , INetworkSerializable
121121 {
122122 if ( gameObject . TryGetComponent < NetworkObject > ( out var networkObject ) )
123- SetInstantiationData ( networkObject , instantiationData ) ;
123+ SetInstantiationData ( networkObject , instantiationData ) ;
124124 }
125125 public void SetInstantiationData < T > ( NetworkObject networkObject , T data ) where T : struct , INetworkSerializable
126126 {
@@ -238,7 +238,7 @@ public bool RemoveHandler(uint globalObjectIdHash)
238238 m_PrefabInstanceToPrefabAsset . Remove ( networkPrefabHashKey ) ;
239239 }
240240
241- if ( m_PrefabAssetToPrefabHandlerWithData . TryGetValue ( globalObjectIdHash , out var handlerWithData ) )
241+ if ( m_PrefabAssetToPrefabHandlerWithData . TryGetValue ( globalObjectIdHash , out var handlerWithData ) )
242242 {
243243 m_PrefabAssetToPrefabHandlerWithData . Remove ( globalObjectIdHash ) ;
244244 }
@@ -296,11 +296,7 @@ internal FastBufferReader GetInstantiationDataReader(uint objectHash, FastBuffer
296296
297297 fastBufferReader . ReadValueSafe ( out int dataSize ) ;
298298 int dataStartPos = fastBufferReader . Position ;
299- unsafe
300- {
301- byte * ptr = fastBufferReader . GetUnsafePtr ( ) + dataStartPos ;
302- return new FastBufferReader ( ptr , Collections . Allocator . None , dataSize ) ;
303- }
299+ return new FastBufferReader ( fastBufferReader , Collections . Allocator . Temp , dataSize , dataStartPos ) ;
304300 }
305301
306302 /// <summary>
@@ -343,21 +339,15 @@ internal NetworkObject HandleNetworkPrefabSpawn(uint networkPrefabAssetHash, ulo
343339 else
344340 {
345341 if ( m_PrefabAssetToPrefabHandler . TryGetValue ( networkPrefabAssetHash , out var prefabInstanceHandler ) )
346- networkObjectInstance = prefabInstanceHandler . Instantiate ( ownerClientId , position , rotation ) ;
342+ networkObjectInstance = prefabInstanceHandler . Instantiate ( ownerClientId , position , rotation ) ;
347343 }
348344 //Now we must make sure this alternate PrefabAsset spawned in place of the prefab asset with the networkPrefabAssetHash (GlobalObjectIdHash)
349345 //is registered and linked to the networkPrefabAssetHash so during the HandleNetworkPrefabDestroy process we can identify the alternate prefab asset.
350- if ( networkObjectInstance != null )
351- RegisterPrefabInstance ( networkObjectInstance , networkPrefabAssetHash ) ;
352- return networkObjectInstance ;
353- }
354-
355- private void RegisterPrefabInstance ( NetworkObject networkObjectInstance , uint networkPrefabAssetHash )
356- {
357346 if ( networkObjectInstance != null && ! m_PrefabInstanceToPrefabAsset . ContainsKey ( networkObjectInstance . GlobalObjectIdHash ) )
358347 {
359348 m_PrefabInstanceToPrefabAsset . Add ( networkObjectInstance . GlobalObjectIdHash , networkPrefabAssetHash ) ;
360349 }
350+ return networkObjectInstance ;
361351 }
362352
363353 /// <summary>
@@ -403,9 +393,9 @@ public GameObject GetNetworkPrefabOverride(GameObject gameObject)
403393 {
404394 case NetworkPrefabOverride . Hash :
405395 case NetworkPrefabOverride . Prefab :
406- {
407- return m_NetworkManager . NetworkConfig . Prefabs . NetworkPrefabOverrideLinks [ networkObject . GlobalObjectIdHash ] . OverridingTargetPrefab ;
408- }
396+ {
397+ return m_NetworkManager . NetworkConfig . Prefabs . NetworkPrefabOverrideLinks [ networkObject . GlobalObjectIdHash ] . OverridingTargetPrefab ;
398+ }
409399 }
410400 }
411401 }
0 commit comments