@@ -213,7 +213,8 @@ internal class TransitionStateinfo
213
213
// [Layer][DestinationState][TransitionStateInfo]
214
214
private Dictionary < int , Dictionary < int , TransitionStateinfo > > m_DestinationStateToTransitioninfo = new Dictionary < int , Dictionary < int , TransitionStateinfo > > ( ) ;
215
215
216
- private NetworkManager m_NetworkManager ;
216
+ // Named differently to avoid serialization conflicts with NetworkBehaviour
217
+ private NetworkManager m_LocalNetworkManager ;
217
218
218
219
internal bool DistributedAuthorityMode ;
219
220
@@ -513,7 +514,7 @@ internal bool IsServerAuthoritative()
513
514
/// </remarks>
514
515
protected virtual bool OnIsServerAuthoritative ( )
515
516
{
516
- if ( ! m_NetworkManager )
517
+ if ( ! m_LocalNetworkManager )
517
518
{
518
519
return true ;
519
520
}
@@ -723,8 +724,8 @@ internal AnimationMessage GetAnimationMessage()
723
724
public override void OnNetworkSpawn ( )
724
725
{
725
726
// Save internal state references
726
- m_NetworkManager = NetworkManager ;
727
- DistributedAuthorityMode = m_NetworkManager . DistributedAuthorityMode ;
727
+ m_LocalNetworkManager = NetworkManager ;
728
+ DistributedAuthorityMode = m_LocalNetworkManager . DistributedAuthorityMode ;
728
729
729
730
// If there is no assigned Animator then generate a server network warning (logged locally and if applicable on the server-host side as well).
730
731
if ( m_Animator == null )
@@ -976,7 +977,7 @@ internal void CheckForAnimatorChanges()
976
977
977
978
if ( m_Animator . runtimeAnimatorController == null )
978
979
{
979
- if ( m_NetworkManager . LogLevel == LogLevel . Developer )
980
+ if ( m_LocalNetworkManager . LogLevel == LogLevel . Developer )
980
981
{
981
982
Debug . LogError ( $ "[{ GetType ( ) . Name } ] Could not find an assigned { nameof ( RuntimeAnimatorController ) } ! Cannot check { nameof ( Animator ) } for changes in state!") ;
982
983
}
@@ -1011,9 +1012,9 @@ internal void CheckForAnimatorChanges()
1011
1012
{
1012
1013
// Just notify all remote clients and not the local server
1013
1014
m_ClientSendList . Clear ( ) ;
1014
- foreach ( var clientId in m_NetworkManager . ConnectionManager . ConnectedClientIds )
1015
+ foreach ( var clientId in m_LocalNetworkManager . ConnectionManager . ConnectedClientIds )
1015
1016
{
1016
- if ( clientId == m_NetworkManager . LocalClientId || ! NetworkObject . Observers . Contains ( clientId ) )
1017
+ if ( clientId == m_LocalNetworkManager . LocalClientId || ! NetworkObject . Observers . Contains ( clientId ) )
1017
1018
{
1018
1019
continue ;
1019
1020
}
@@ -1041,7 +1042,7 @@ private void SendParametersUpdate(ClientRpcParams clientRpcParams = default, boo
1041
1042
}
1042
1043
else
1043
1044
{
1044
- Debug . LogError ( $ "[{ name } ][Client-{ m_NetworkManager . LocalClientId } ] Attempting to send parameter updates but not the owner!") ;
1045
+ Debug . LogError ( $ "[{ name } ][Client-{ m_LocalNetworkManager . LocalClientId } ] Attempting to send parameter updates but not the owner!") ;
1045
1046
}
1046
1047
}
1047
1048
else
@@ -1279,12 +1280,12 @@ internal void UpdateAnimationState(AnimationState animationState)
1279
1280
// Cross fade from the current to the destination state for the transitions duration while starting at the server's current normalized time of the transition
1280
1281
m_Animator . CrossFade ( transitionStateInfo . DestinationState , transitionStateInfo . TransitionDuration , transitionStateInfo . Layer , 0.0f , animationState . NormalizedTime ) ;
1281
1282
}
1282
- else if ( m_NetworkManager . LogLevel == LogLevel . Developer )
1283
+ else if ( m_LocalNetworkManager . LogLevel == LogLevel . Developer )
1283
1284
{
1284
1285
NetworkLog . LogWarning ( $ "Current State Hash ({ currentState . fullPathHash } ) != AnimationState.StateHash ({ animationState . StateHash } )") ;
1285
1286
}
1286
1287
}
1287
- else if ( m_NetworkManager . LogLevel == LogLevel . Developer )
1288
+ else if ( m_LocalNetworkManager . LogLevel == LogLevel . Developer )
1288
1289
{
1289
1290
NetworkLog . LogError ( $ "[DestinationState To Transition Info] Layer ({ animationState . Layer } ) sub-table does not contain destination state ({ animationState . DestinationStateHash } )!") ;
1290
1291
}
@@ -1327,7 +1328,7 @@ private unsafe void SendParametersUpdateServerRpc(ParametersUpdateMessage parame
1327
1328
return ;
1328
1329
}
1329
1330
UpdateParameters ( ref parametersUpdate ) ;
1330
- var connectedClientIds = m_NetworkManager . ConnectionManager . ConnectedClientIds ;
1331
+ var connectedClientIds = m_LocalNetworkManager . ConnectionManager . ConnectedClientIds ;
1331
1332
if ( connectedClientIds . Count <= ( IsHost ? 2 : 1 ) )
1332
1333
{
1333
1334
return ;
@@ -1393,7 +1394,7 @@ private void SendAnimStateServerRpc(AnimationMessage animationMessage, ServerRpc
1393
1394
UpdateAnimationState ( animationState ) ;
1394
1395
}
1395
1396
1396
- var connectedClientIds = m_NetworkManager . ConnectionManager . ConnectedClientIds ;
1397
+ var connectedClientIds = m_LocalNetworkManager . ConnectionManager . ConnectedClientIds ;
1397
1398
if ( connectedClientIds . Count <= ( IsHost ? 2 : 1 ) )
1398
1399
{
1399
1400
return ;
@@ -1435,7 +1436,7 @@ private void ProcessAnimStates(AnimationMessage animationMessage)
1435
1436
{
1436
1437
if ( HasAuthority )
1437
1438
{
1438
- if ( m_NetworkManager . LogLevel == LogLevel . Developer )
1439
+ if ( m_LocalNetworkManager . LogLevel == LogLevel . Developer )
1439
1440
{
1440
1441
var hostOrOwner = DistributedAuthorityMode ? "Owner" : "Host" ;
1441
1442
var clientServerOrDAMode = DistributedAuthorityMode ? "distributed authority" : "client-server" ;
@@ -1462,7 +1463,7 @@ internal void SendAnimTriggerServerRpc(AnimationTriggerMessage animationTriggerM
1462
1463
// Ignore if a non-owner sent this.
1463
1464
if ( serverRpcParams . Receive . SenderClientId != OwnerClientId )
1464
1465
{
1465
- if ( m_NetworkManager . LogLevel == LogLevel . Developer )
1466
+ if ( m_LocalNetworkManager . LogLevel == LogLevel . Developer )
1466
1467
{
1467
1468
NetworkLog . LogWarning ( $ "[Owner Authoritative] Detected the a non-authoritative client is sending the server animation trigger updates. If you recently changed ownership of the { name } object, then this could be the reason.") ;
1468
1469
}
@@ -1472,7 +1473,7 @@ internal void SendAnimTriggerServerRpc(AnimationTriggerMessage animationTriggerM
1472
1473
// set the trigger locally on the server
1473
1474
InternalSetTrigger ( animationTriggerMessage . Hash , animationTriggerMessage . IsTriggerSet ) ;
1474
1475
1475
- var connectedClientIds = m_NetworkManager . ConnectionManager . ConnectedClientIds ;
1476
+ var connectedClientIds = m_LocalNetworkManager . ConnectionManager . ConnectedClientIds ;
1476
1477
1477
1478
m_ClientSendList . Clear ( ) ;
1478
1479
foreach ( var clientId in connectedClientIds )
0 commit comments