Skip to content

Commit 72ab763

Browse files
fix
Fixing AnticipatedNetworkTransform m_NetworkManager issue.
1 parent 25ca971 commit 72ab763

File tree

1 file changed

+25
-27
lines changed

1 file changed

+25
-27
lines changed

com.unity.netcode.gameobjects/Runtime/Components/AnticipatedNetworkTransform.cs

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,6 @@ public struct TransformState
8686

8787
private bool m_OutstandingAuthorityChange = false;
8888

89-
private NetworkManager m_NetworkManager;
90-
9189
#if UNITY_EDITOR
9290
private void Reset()
9391
{
@@ -159,7 +157,7 @@ public bool ShouldReanticipate
159157
/// <param name="newPosition">The anticipated position</param>
160158
public void AnticipateMove(Vector3 newPosition)
161159
{
162-
if (m_NetworkManager == null || m_NetworkManager.ShutdownInProgress || !m_NetworkManager.IsListening)
160+
if (m_CachedNetworkManager == null || m_CachedNetworkManager.ShutdownInProgress || !m_CachedNetworkManager.IsListening)
163161
{
164162
return;
165163
}
@@ -172,7 +170,7 @@ public void AnticipateMove(Vector3 newPosition)
172170

173171
m_PreviousAnticipatedTransform = m_AnticipatedTransform;
174172

175-
m_LastAnticipaionCounter = m_NetworkManager.AnticipationSystem.AnticipationCounter;
173+
m_LastAnticipaionCounter = m_CachedNetworkManager.AnticipationSystem.AnticipationCounter;
176174

177175
m_SmoothDuration = 0;
178176
m_CurrentSmoothTime = 0;
@@ -185,7 +183,7 @@ public void AnticipateMove(Vector3 newPosition)
185183
/// <param name="newRotation">The anticipated rotation</param>
186184
public void AnticipateRotate(Quaternion newRotation)
187185
{
188-
if (m_NetworkManager == null || m_NetworkManager.ShutdownInProgress || !m_NetworkManager.IsListening)
186+
if (m_CachedNetworkManager == null || m_CachedNetworkManager.ShutdownInProgress || !m_CachedNetworkManager.IsListening)
189187
{
190188
return;
191189
}
@@ -198,7 +196,7 @@ public void AnticipateRotate(Quaternion newRotation)
198196

199197
m_PreviousAnticipatedTransform = m_AnticipatedTransform;
200198

201-
m_LastAnticipaionCounter = m_NetworkManager.AnticipationSystem.AnticipationCounter;
199+
m_LastAnticipaionCounter = m_CachedNetworkManager.AnticipationSystem.AnticipationCounter;
202200

203201
m_SmoothDuration = 0;
204202
m_CurrentSmoothTime = 0;
@@ -211,7 +209,7 @@ public void AnticipateRotate(Quaternion newRotation)
211209
/// <param name="newScale">The anticipated scale</param>
212210
public void AnticipateScale(Vector3 newScale)
213211
{
214-
if (m_NetworkManager == null || m_NetworkManager.ShutdownInProgress || !m_NetworkManager.IsListening)
212+
if (m_CachedNetworkManager == null || m_CachedNetworkManager.ShutdownInProgress || !m_CachedNetworkManager.IsListening)
215213
{
216214
return;
217215
}
@@ -224,7 +222,7 @@ public void AnticipateScale(Vector3 newScale)
224222

225223
m_PreviousAnticipatedTransform = m_AnticipatedTransform;
226224

227-
m_LastAnticipaionCounter = m_NetworkManager.AnticipationSystem.AnticipationCounter;
225+
m_LastAnticipaionCounter = m_CachedNetworkManager.AnticipationSystem.AnticipationCounter;
228226

229227
m_SmoothDuration = 0;
230228
m_CurrentSmoothTime = 0;
@@ -237,7 +235,7 @@ public void AnticipateScale(Vector3 newScale)
237235
/// <param name="newState">The anticipated transform state</param>
238236
public void AnticipateState(TransformState newState)
239237
{
240-
if (m_NetworkManager == null || m_NetworkManager.ShutdownInProgress || !m_NetworkManager.IsListening)
238+
if (m_CachedNetworkManager == null || m_CachedNetworkManager.ShutdownInProgress || !m_CachedNetworkManager.IsListening)
241239
{
242240
return;
243241
}
@@ -266,7 +264,7 @@ private void ProcessSmoothing()
266264

267265
if (m_CurrentSmoothTime < m_SmoothDuration)
268266
{
269-
m_CurrentSmoothTime += m_NetworkManager.RealTimeProvider.DeltaTime;
267+
m_CurrentSmoothTime += m_CachedNetworkManager.RealTimeProvider.DeltaTime;
270268
var transform_ = transform;
271269
var pct = math.min(m_CurrentSmoothTime / m_SmoothDuration, 1f);
272270

@@ -399,8 +397,8 @@ protected internal override void InternalOnNetworkSessionSynchronized()
399397
ResetAnticipatedState();
400398

401399
m_AnticipatedObject = new AnticipatedObject { Transform = this };
402-
m_NetworkManager.AnticipationSystem.RegisterForAnticipationEvents(m_AnticipatedObject);
403-
m_NetworkManager.AnticipationSystem.AllAnticipatedObjects.Add(m_AnticipatedObject);
400+
m_CachedNetworkManager.AnticipationSystem.RegisterForAnticipationEvents(m_AnticipatedObject);
401+
m_CachedNetworkManager.AnticipationSystem.AllAnticipatedObjects.Add(m_AnticipatedObject);
404402
}
405403
}
406404

@@ -412,23 +410,23 @@ protected internal override void InternalOnNetworkSessionSynchronized()
412410
protected internal override void InternalOnNetworkPostSpawn()
413411
{
414412
base.InternalOnNetworkPostSpawn();
415-
if (!CanCommitToTransform && m_NetworkManager.IsConnectedClient && !SynchronizeState.IsSynchronizing)
413+
if (!CanCommitToTransform && m_CachedNetworkManager.IsConnectedClient && !SynchronizeState.IsSynchronizing)
416414
{
417415
m_OutstandingAuthorityChange = true;
418416
ApplyAuthoritativeState();
419417
ResetAnticipatedState();
420418
m_AnticipatedObject = new AnticipatedObject { Transform = this };
421-
m_NetworkManager.AnticipationSystem.RegisterForAnticipationEvents(m_AnticipatedObject);
422-
m_NetworkManager.AnticipationSystem.AllAnticipatedObjects.Add(m_AnticipatedObject);
419+
m_CachedNetworkManager.AnticipationSystem.RegisterForAnticipationEvents(m_AnticipatedObject);
420+
m_CachedNetworkManager.AnticipationSystem.AllAnticipatedObjects.Add(m_AnticipatedObject);
423421
}
424422
}
425423

426424
/// <inheritdoc/>
427425
public override void OnNetworkSpawn()
428426
{
429-
m_NetworkManager = NetworkManager;
427+
m_CachedNetworkManager = NetworkManager;
430428

431-
if (m_NetworkManager.DistributedAuthorityMode)
429+
if (m_CachedNetworkManager.DistributedAuthorityMode)
432430
{
433431
Debug.LogWarning($"This component is not currently supported in distributed authority.");
434432
}
@@ -445,18 +443,18 @@ public override void OnNetworkSpawn()
445443
ResetAnticipatedState();
446444

447445
m_AnticipatedObject = new AnticipatedObject { Transform = this };
448-
m_NetworkManager.AnticipationSystem.RegisterForAnticipationEvents(m_AnticipatedObject);
449-
m_NetworkManager.AnticipationSystem.AllAnticipatedObjects.Add(m_AnticipatedObject);
446+
m_CachedNetworkManager.AnticipationSystem.RegisterForAnticipationEvents(m_AnticipatedObject);
447+
m_CachedNetworkManager.AnticipationSystem.AllAnticipatedObjects.Add(m_AnticipatedObject);
450448
}
451449

452450
/// <inheritdoc/>
453451
public override void OnNetworkDespawn()
454452
{
455453
if (m_AnticipatedObject != null)
456454
{
457-
m_NetworkManager.AnticipationSystem.DeregisterForAnticipationEvents(m_AnticipatedObject);
458-
m_NetworkManager.AnticipationSystem.AllAnticipatedObjects.Remove(m_AnticipatedObject);
459-
m_NetworkManager.AnticipationSystem.ObjectsToReanticipate.Remove(m_AnticipatedObject);
455+
m_CachedNetworkManager.AnticipationSystem.DeregisterForAnticipationEvents(m_AnticipatedObject);
456+
m_CachedNetworkManager.AnticipationSystem.AllAnticipatedObjects.Remove(m_AnticipatedObject);
457+
m_CachedNetworkManager.AnticipationSystem.ObjectsToReanticipate.Remove(m_AnticipatedObject);
460458
m_AnticipatedObject = null;
461459
}
462460
ResetAnticipatedState();
@@ -469,9 +467,9 @@ public override void OnDestroy()
469467
{
470468
if (m_AnticipatedObject != null)
471469
{
472-
m_NetworkManager.AnticipationSystem.DeregisterForAnticipationEvents(m_AnticipatedObject);
473-
m_NetworkManager.AnticipationSystem.AllAnticipatedObjects.Remove(m_AnticipatedObject);
474-
m_NetworkManager.AnticipationSystem.ObjectsToReanticipate.Remove(m_AnticipatedObject);
470+
m_CachedNetworkManager.AnticipationSystem.DeregisterForAnticipationEvents(m_AnticipatedObject);
471+
m_CachedNetworkManager.AnticipationSystem.AllAnticipatedObjects.Remove(m_AnticipatedObject);
472+
m_CachedNetworkManager.AnticipationSystem.ObjectsToReanticipate.Remove(m_AnticipatedObject);
475473
m_AnticipatedObject = null;
476474
}
477475

@@ -518,7 +516,7 @@ public void Smooth(TransformState from, TransformState to, float durationSeconds
518516
protected override void OnBeforeUpdateTransformState()
519517
{
520518
// this is called when new data comes from the server
521-
m_LastAuthorityUpdateCounter = m_NetworkManager.AnticipationSystem.LastAnticipationAck;
519+
m_LastAuthorityUpdateCounter = m_CachedNetworkManager.AnticipationSystem.LastAnticipationAck;
522520
m_OutstandingAuthorityChange = true;
523521
}
524522

@@ -571,7 +569,7 @@ protected override void OnTransformUpdated()
571569
m_AnticipatedTransform = m_AuthoritativeTransform;
572570

573571
ShouldReanticipate = true;
574-
m_NetworkManager.AnticipationSystem.ObjectsToReanticipate.Add(m_AnticipatedObject);
572+
m_CachedNetworkManager.AnticipationSystem.ObjectsToReanticipate.Add(m_AnticipatedObject);
575573
}
576574
}
577575
}

0 commit comments

Comments
 (0)