@@ -52,6 +52,7 @@ public abstract class NetworkRigidbodyBase : NetworkBehaviour
5252#endif
5353
5454
55+ private NetworkManager m_LocalNetworkManager ;
5556 // Used to cache the authority state of this Rigidbody during the last frame
5657 private bool m_IsAuthority ;
5758
@@ -971,8 +972,7 @@ protected override void OnOwnershipChanged(ulong previous, ulong current)
971972 /// </remarks>
972973 internal void UpdateOwnershipAuthority ( )
973974 {
974- // TODO do we have a cached NetworkManager here? Should we create one?
975- if ( NetworkManager . DistributedAuthorityMode )
975+ if ( m_LocalNetworkManager . DistributedAuthorityMode )
976976 {
977977 // When in distributed authority mode, always use HasAuthority
978978 m_IsAuthority = HasAuthority ;
@@ -981,8 +981,7 @@ internal void UpdateOwnershipAuthority()
981981 {
982982 if ( NetworkTransform . IsServerAuthoritative ( ) )
983983 {
984- // TODO do we have a cached NetworkManager here? Should we create one
985- m_IsAuthority = NetworkManager . IsServer ;
984+ m_IsAuthority = m_LocalNetworkManager . IsServer ;
986985 }
987986 else
988987 {
@@ -996,12 +995,16 @@ internal void UpdateOwnershipAuthority()
996995 }
997996 }
998997
998+ internal override void InternalOnNetworkPreSpawn ( ref NetworkManager networkManager )
999+ {
1000+ m_LocalNetworkManager = networkManager ;
1001+ }
1002+
9991003 /// <inheritdoc />
10001004 public override void OnNetworkSpawn ( )
10011005 {
1002- // TODO do we have a cached NetworkManager here? Should we create one
1003- m_TickFrequency = 1.0f / NetworkManager . NetworkConfig . TickRate ;
1004- m_TickRate = NetworkManager . NetworkConfig . TickRate ;
1006+ m_TickFrequency = 1.0f / m_LocalNetworkManager . NetworkConfig . TickRate ;
1007+ m_TickRate = m_LocalNetworkManager . NetworkConfig . TickRate ;
10051008 UpdateOwnershipAuthority ( ) ;
10061009 }
10071010
0 commit comments