Skip to content

Commit fa10a91

Browse files
committed
Fix tests
1 parent f640138 commit fa10a91

File tree

4 files changed

+36
-24
lines changed

4 files changed

+36
-24
lines changed

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

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,8 @@ internal class TransitionStateinfo
213213
// [Layer][DestinationState][TransitionStateInfo]
214214
private Dictionary<int, Dictionary<int, TransitionStateinfo>> m_DestinationStateToTransitioninfo = new Dictionary<int, Dictionary<int, TransitionStateinfo>>();
215215

216-
private NetworkManager m_NetworkManager;
216+
// Named differently to avoid serialization conflicts with NetworkBehaviour
217+
private NetworkManager m_LocalNetworkManager;
217218

218219
internal bool DistributedAuthorityMode;
219220

@@ -513,7 +514,7 @@ internal bool IsServerAuthoritative()
513514
/// </remarks>
514515
protected virtual bool OnIsServerAuthoritative()
515516
{
516-
if (!m_NetworkManager)
517+
if (!m_LocalNetworkManager)
517518
{
518519
return true;
519520
}
@@ -723,8 +724,8 @@ internal AnimationMessage GetAnimationMessage()
723724
public override void OnNetworkSpawn()
724725
{
725726
// Save internal state references
726-
m_NetworkManager = NetworkManager;
727-
DistributedAuthorityMode = m_NetworkManager.DistributedAuthorityMode;
727+
m_LocalNetworkManager = NetworkManager;
728+
DistributedAuthorityMode = m_LocalNetworkManager.DistributedAuthorityMode;
728729

729730
// If there is no assigned Animator then generate a server network warning (logged locally and if applicable on the server-host side as well).
730731
if (m_Animator == null)
@@ -976,7 +977,7 @@ internal void CheckForAnimatorChanges()
976977

977978
if (m_Animator.runtimeAnimatorController == null)
978979
{
979-
if (m_NetworkManager.LogLevel == LogLevel.Developer)
980+
if (m_LocalNetworkManager.LogLevel == LogLevel.Developer)
980981
{
981982
Debug.LogError($"[{GetType().Name}] Could not find an assigned {nameof(RuntimeAnimatorController)}! Cannot check {nameof(Animator)} for changes in state!");
982983
}
@@ -1011,9 +1012,9 @@ internal void CheckForAnimatorChanges()
10111012
{
10121013
// Just notify all remote clients and not the local server
10131014
m_ClientSendList.Clear();
1014-
foreach (var clientId in m_NetworkManager.ConnectionManager.ConnectedClientIds)
1015+
foreach (var clientId in m_LocalNetworkManager.ConnectionManager.ConnectedClientIds)
10151016
{
1016-
if (clientId == m_NetworkManager.LocalClientId || !NetworkObject.Observers.Contains(clientId))
1017+
if (clientId == m_LocalNetworkManager.LocalClientId || !NetworkObject.Observers.Contains(clientId))
10171018
{
10181019
continue;
10191020
}
@@ -1041,7 +1042,7 @@ private void SendParametersUpdate(ClientRpcParams clientRpcParams = default, boo
10411042
}
10421043
else
10431044
{
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!");
10451046
}
10461047
}
10471048
else
@@ -1279,12 +1280,12 @@ internal void UpdateAnimationState(AnimationState animationState)
12791280
// 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
12801281
m_Animator.CrossFade(transitionStateInfo.DestinationState, transitionStateInfo.TransitionDuration, transitionStateInfo.Layer, 0.0f, animationState.NormalizedTime);
12811282
}
1282-
else if (m_NetworkManager.LogLevel == LogLevel.Developer)
1283+
else if (m_LocalNetworkManager.LogLevel == LogLevel.Developer)
12831284
{
12841285
NetworkLog.LogWarning($"Current State Hash ({currentState.fullPathHash}) != AnimationState.StateHash ({animationState.StateHash})");
12851286
}
12861287
}
1287-
else if (m_NetworkManager.LogLevel == LogLevel.Developer)
1288+
else if (m_LocalNetworkManager.LogLevel == LogLevel.Developer)
12881289
{
12891290
NetworkLog.LogError($"[DestinationState To Transition Info] Layer ({animationState.Layer}) sub-table does not contain destination state ({animationState.DestinationStateHash})!");
12901291
}
@@ -1327,7 +1328,7 @@ private unsafe void SendParametersUpdateServerRpc(ParametersUpdateMessage parame
13271328
return;
13281329
}
13291330
UpdateParameters(ref parametersUpdate);
1330-
var connectedClientIds = m_NetworkManager.ConnectionManager.ConnectedClientIds;
1331+
var connectedClientIds = m_LocalNetworkManager.ConnectionManager.ConnectedClientIds;
13311332
if (connectedClientIds.Count <= (IsHost ? 2 : 1))
13321333
{
13331334
return;
@@ -1393,7 +1394,7 @@ private void SendAnimStateServerRpc(AnimationMessage animationMessage, ServerRpc
13931394
UpdateAnimationState(animationState);
13941395
}
13951396

1396-
var connectedClientIds = m_NetworkManager.ConnectionManager.ConnectedClientIds;
1397+
var connectedClientIds = m_LocalNetworkManager.ConnectionManager.ConnectedClientIds;
13971398
if (connectedClientIds.Count <= (IsHost ? 2 : 1))
13981399
{
13991400
return;
@@ -1435,7 +1436,7 @@ private void ProcessAnimStates(AnimationMessage animationMessage)
14351436
{
14361437
if (HasAuthority)
14371438
{
1438-
if (m_NetworkManager.LogLevel == LogLevel.Developer)
1439+
if (m_LocalNetworkManager.LogLevel == LogLevel.Developer)
14391440
{
14401441
var hostOrOwner = DistributedAuthorityMode ? "Owner" : "Host";
14411442
var clientServerOrDAMode = DistributedAuthorityMode ? "distributed authority" : "client-server";
@@ -1462,7 +1463,7 @@ internal void SendAnimTriggerServerRpc(AnimationTriggerMessage animationTriggerM
14621463
// Ignore if a non-owner sent this.
14631464
if (serverRpcParams.Receive.SenderClientId != OwnerClientId)
14641465
{
1465-
if (m_NetworkManager.LogLevel == LogLevel.Developer)
1466+
if (m_LocalNetworkManager.LogLevel == LogLevel.Developer)
14661467
{
14671468
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.");
14681469
}
@@ -1472,7 +1473,7 @@ internal void SendAnimTriggerServerRpc(AnimationTriggerMessage animationTriggerM
14721473
// set the trigger locally on the server
14731474
InternalSetTrigger(animationTriggerMessage.Hash, animationTriggerMessage.IsTriggerSet);
14741475

1475-
var connectedClientIds = m_NetworkManager.ConnectionManager.ConnectedClientIds;
1476+
var connectedClientIds = m_LocalNetworkManager.ConnectionManager.ConnectedClientIds;
14761477

14771478
m_ClientSendList.Clear();
14781479
foreach (var clientId in connectedClientIds)

com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/Components/ObjectNameIdentifier.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,7 @@ public override void OnDestroy()
108108
DeRegisterNetworkObject();
109109
// This is required otherwise it will try to continue to update the NetworkBehaviour even if
110110
// it has been destroyed (most likely integration test specific)
111-
if (m_NetworkObject.ChildNetworkBehaviours != null && m_NetworkObject.ChildNetworkBehaviours.Contains(this))
112-
{
113-
NetworkObject.ChildNetworkBehaviours.Remove(this);
114-
}
111+
m_NetworkObject.ChildNetworkBehaviours?.Remove(this);
115112
m_NetworkObject = null;
116113
}
117114
base.OnDestroy();

com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeIntegrationTest.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -576,6 +576,7 @@ private void InternalOnOneTimeSetup()
576576
IsRunning = true;
577577
m_EnableVerboseDebug = OnSetVerboseDebug();
578578
IntegrationTestSceneHandler.VerboseDebugMode = m_EnableVerboseDebug;
579+
NetworkManagerHelper.VerboseDebugMode = m_EnableVerboseDebug;
579580
VerboseDebug($"Entering {nameof(OneTimeSetup)}");
580581

581582
m_NetworkManagerInstatiationMode = OnSetIntegrationTestMode();

com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetworkManagerHelper.cs

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ public static class NetworkManagerHelper
4444
/// </summary>
4545
public static NetworkManagerOperatingMode CurrentNetworkManagerMode;
4646

47+
/// <summary>
48+
/// When true, logs will be generated for <see cref="NetworkManager"/> lifecycle events.
49+
/// </summary>
50+
public static bool VerboseDebugMode;
51+
4752
/// <summary>
4853
/// This provides the ability to start NetworkManager in various modes
4954
/// </summary>
@@ -97,7 +102,7 @@ public static bool StartNetworkManager(out NetworkManager networkManager, Networ
97102
return false;
98103
}
99104

100-
Debug.Log($"{nameof(NetworkManager)} Instantiated.");
105+
VerboseLog($"{nameof(NetworkManager)} Instantiated.");
101106

102107
var unityTransport = NetworkManagerGameObject.AddComponent<UnityTransport>();
103108
if (networkConfig == null)
@@ -212,7 +217,7 @@ private static void StartNetworkManagerMode(NetworkManagerOperatingMode managerM
212217
}
213218

214219
// Only log this if we started an netcode session
215-
Debug.Log($"{CurrentNetworkManagerMode} started.");
220+
VerboseLog($"{CurrentNetworkManagerMode} started.");
216221
}
217222
}
218223

@@ -223,7 +228,7 @@ private static void StopNetworkManagerMode()
223228
{
224229
NetworkManagerObject.Shutdown();
225230

226-
Debug.Log($"{CurrentNetworkManagerMode} stopped.");
231+
VerboseLog($"{CurrentNetworkManagerMode} stopped.");
227232
CurrentNetworkManagerMode = NetworkManagerOperatingMode.None;
228233
}
229234

@@ -243,11 +248,11 @@ public static void ShutdownNetworkManager()
243248

244249
if (NetworkManagerGameObject != null)
245250
{
246-
Debug.Log($"{nameof(NetworkManager)} shutdown.");
251+
VerboseLog($"{nameof(NetworkManager)} shutdown.");
247252

248253
StopNetworkManagerMode();
249254
UnityEngine.Object.DestroyImmediate(NetworkManagerGameObject);
250-
Debug.Log($"{nameof(NetworkManager)} destroyed.");
255+
VerboseLog($"{nameof(NetworkManager)} destroyed.");
251256
}
252257
NetworkManagerGameObject = null;
253258
NetworkManagerObject = null;
@@ -304,5 +309,13 @@ public static bool BuffersMatch(int indexOffset, long targetSize, byte[] sourceA
304309
}
305310
return true;
306311
}
312+
313+
private static void VerboseLog(string message)
314+
{
315+
if (VerboseDebugMode)
316+
{
317+
Debug.unityLogger.Log(message);
318+
}
319+
}
307320
}
308321
}

0 commit comments

Comments
 (0)