@@ -1030,7 +1030,7 @@ internal NetworkObject CreateLocalNetworkObject(NetworkObject.SceneObject sceneO
10301030 /// Distributed Authority:
10311031 /// DAHost client and standard DA clients invoke this method.
10321032 /// </summary>
1033- internal void SpawnNetworkObjectLocally ( NetworkObject networkObject , NetworkManager networkManager , ulong networkId , bool sceneObject , bool playerObject , ulong ownerClientId , bool destroyWithScene )
1033+ internal void SpawnNetworkObjectLocally ( NetworkObject networkObject , ulong networkId , bool sceneObject , bool playerObject , ulong ownerClientId , bool destroyWithScene )
10341034 {
10351035 if ( networkObject == null )
10361036 {
@@ -1051,12 +1051,9 @@ internal void SpawnNetworkObjectLocally(NetworkObject networkObject, NetworkMana
10511051 Debug . LogError ( "Spawning NetworkObjects with nested NetworkObjects is only supported for scene objects. Child NetworkObjects will not be spawned over the network!" ) ;
10521052 }
10531053 }
1054+
10541055 // Invoke NetworkBehaviour.OnPreSpawn methods
1055- if ( networkObject . NetworkManagerOwner != networkManager || NetworkManager != networkManager )
1056- {
1057- Debug . LogWarning ( "overriding network manager" ) ;
1058- }
1059- networkObject . NetworkManagerOwner = networkManager ;
1056+ networkObject . NetworkManagerOwner = NetworkManager ;
10601057 networkObject . InvokeBehaviourNetworkPreSpawn ( ) ;
10611058
10621059 // DANGO-TODO: It would be nice to allow users to specify which clients are observers prior to spawning
@@ -1103,6 +1100,11 @@ internal void SpawnNetworkObjectLocally(NetworkObject networkObject, NetworkMana
11031100
11041101 internal void SpawnNetworkObjectLocallyCommon ( NetworkObject networkObject , ulong networkId , bool sceneObject , bool playerObject , ulong ownerClientId , bool destroyWithScene )
11051102 {
1103+ if ( networkObject . NetworkManagerOwner == null )
1104+ {
1105+ Debug . LogError ( "NetworkManagerOwner should not be null!" ) ;
1106+ }
1107+
11061108 if ( SpawnedObjects . ContainsKey ( networkId ) )
11071109 {
11081110 Debug . LogWarning ( $ "[{ NetworkManager . name } ] Trying to spawn { networkObject . name } with a { nameof ( NetworkObject . NetworkObjectId ) } of { networkId } but it is already in the spawned list!") ;
@@ -1471,25 +1473,25 @@ internal void ServerSpawnSceneObjectsOnStartSweep()
14711473 var networkObjects = UnityEngine . Object . FindObjectsOfType < NetworkObject > ( ) ;
14721474#endif
14731475 var networkObjectsToSpawn = new List < NetworkObject > ( ) ;
1474- for ( int i = 0 ; i < networkObjects . Length ; i ++ )
1476+ foreach ( var networkObject in networkObjects )
14751477 {
1476- if ( networkObjects [ i ] . NetworkManager != NetworkManager )
1478+ if ( networkObject . NetworkManager != NetworkManager )
14771479 {
1478- Debug . LogWarning ( "Well this is strange" ) ;
1480+ continue ;
14791481 }
14801482 // This used to be two loops.
14811483 // The first added all NetworkObjects to a list and the second spawned all NetworkObjects in the list.
14821484 // Now, a parent will set its children's IsSceneObject value when spawned, so we check for null or for true.
1483- if ( networkObjects [ i ] . IsSceneObject == null || ( networkObjects [ i ] . IsSceneObject . HasValue && networkObjects [ i ] . IsSceneObject . Value ) )
1485+ if ( networkObject . IsSceneObject == null || ( networkObject . IsSceneObject . HasValue && networkObject . IsSceneObject . Value ) )
14841486 {
1485- var ownerId = networkObjects [ i ] . OwnerClientId ;
1487+ var ownerId = networkObject . OwnerClientId ;
14861488 if ( NetworkManager . DistributedAuthorityMode )
14871489 {
14881490 ownerId = NetworkManager . LocalClientId ;
14891491 }
14901492
1491- SpawnNetworkObjectLocally ( networkObjects [ i ] , NetworkManager , GetNetworkObjectId ( ) , true , false , ownerId , true ) ;
1492- networkObjectsToSpawn . Add ( networkObjects [ i ] ) ;
1493+ SpawnNetworkObjectLocally ( networkObject , GetNetworkObjectId ( ) , true , false , ownerId , true ) ;
1494+ networkObjectsToSpawn . Add ( networkObject ) ;
14931495 }
14941496 }
14951497
0 commit comments