@@ -39,7 +39,7 @@ internal class DistributedAuthorityCodecTests : NetcodeIntegrationTest
3939 protected override NetworkTopologyTypes OnGetNetworkTopologyType ( ) => NetworkTopologyTypes . DistributedAuthority ;
4040
4141 private CodecTestHooks m_ClientCodecHook ;
42- private NetworkManager Client => m_ClientNetworkManagers [ 0 ] ;
42+ private NetworkManager m_Client ;
4343
4444 private string m_TransportHost = Environment . GetEnvironmentVariable ( "NGO_HOST" ) ?? "127.0.0.1" ;
4545 private static readonly ushort k_TransportPort = GetPortToBind ( ) ;
@@ -100,48 +100,48 @@ protected override void OnCreatePlayerPrefab()
100100 /// </summary>
101101 protected override void OnServerAndClientsCreated ( )
102102 {
103- var utpTransport = Client . gameObject . AddComponent < UnityTransport > ( ) ;
104- Client . NetworkConfig . NetworkTransport = utpTransport ;
105- Client . NetworkConfig . EnableSceneManagement = false ;
106- Client . NetworkConfig . AutoSpawnPlayerPrefabClientSide = true ;
103+ m_Client = GetAuthorityNetworkManager ( ) ;
104+
105+ var utpTransport = m_Client . gameObject . AddComponent < UnityTransport > ( ) ;
106+ m_Client . NetworkConfig . NetworkTransport = utpTransport ;
107+ m_Client . NetworkConfig . EnableSceneManagement = false ;
108+ m_Client . NetworkConfig . AutoSpawnPlayerPrefabClientSide = true ;
107109 utpTransport . ConnectionData . Address = Dns . GetHostAddresses ( m_TransportHost ) . First ( ) . ToString ( ) ;
108110 utpTransport . ConnectionData . Port = k_TransportPort ;
109- Client . LogLevel = LogLevel . Developer ;
111+ m_Client . LogLevel = LogLevel . Developer ;
110112
111113 // Validate we are in distributed authority mode with client side spawning and using CMB Service
112- Assert . True ( Client . NetworkConfig . NetworkTopology == NetworkTopologyTypes . DistributedAuthority , "Distributed authority topology is not set!" ) ;
113- Assert . True ( Client . AutoSpawnPlayerPrefabClientSide , "Client side spawning is not set!" ) ;
114- Assert . True ( Client . CMBServiceConnection , "CMBServiceConnection is not set!" ) ;
114+ Assert . True ( m_Client . NetworkConfig . NetworkTopology == NetworkTopologyTypes . DistributedAuthority , "Distributed authority topology is not set!" ) ;
115+ Assert . True ( m_Client . AutoSpawnPlayerPrefabClientSide , "Client side spawning is not set!" ) ;
116+ Assert . True ( m_Client . CMBServiceConnection , "CMBServiceConnection is not set!" ) ;
115117
116118 // Create a prefab for creating and destroying tests (auto-registers with NetworkManagers)
117119 m_SpawnObject = CreateNetworkObjectPrefab ( "TestObject" ) ;
118120 m_SpawnObject . AddComponent < TestNetworkComponent > ( ) ;
119-
120- // Ignore the client connection timeout after starting the client
121- m_BypassConnectionTimeout = true ;
122121 }
123122
124123 protected override IEnumerator OnStartedServerAndClients ( )
125124 {
126125 // Validate the NetworkManager are in distributed authority mode
127- Assert . True ( Client . DistributedAuthorityMode , "Distributed authority is not set!" ) ;
126+ Assert . True ( m_Client . DistributedAuthorityMode , "Distributed authority is not set!" ) ;
128127
129- // Register hooks after starting clients and server (in this case just the one client)
130- // We do this at this point in time because the MessageManager exists (happens within the same call stack when starting NetworkManagers)
131- m_ClientCodecHook = new CodecTestHooks ( ) ;
132- Client . MessageManager . Hook ( m_ClientCodecHook ) ;
133128 yield return base . OnStartedServerAndClients ( ) ;
134129
135130 // wait for client to connect since m_BypassConnectionTimeout
136- yield return WaitForConditionOrTimeOut ( ( ) => Client . LocalClient . PlayerObject != null ) ;
131+ yield return WaitForConditionOrTimeOut ( ( ) => m_Client . LocalClient . PlayerObject != null ) ;
137132 AssertOnTimeout ( $ "Timed out waiting for the client's player to be spanwed!") ;
133+
134+ // Register hooks after starting clients and server (in this case just the one client)
135+ // We do this at this after all the setup has finished in order to ensure our hooks are only catching messages from the tests
136+ m_ClientCodecHook = new CodecTestHooks ( ) ;
137+ m_Client . MessageManager . Hook ( m_ClientCodecHook ) ;
138138 }
139139
140140 [ UnityTest ]
141141 public IEnumerator AuthorityRpc ( )
142142 {
143- var player = Client . LocalClient . PlayerObject ;
144- player . OwnerClientId = Client . LocalClientId + 1 ;
143+ var player = m_Client . LocalClient . PlayerObject ;
144+ player . OwnerClientId = m_Client . LocalClientId + 1 ;
145145
146146 var networkComponent = player . GetComponent < TestNetworkComponent > ( ) ;
147147 networkComponent . UpdateNetworkProperties ( ) ;
@@ -189,14 +189,14 @@ public IEnumerator ClientDisconnected()
189189 [ UnityTest ]
190190 public IEnumerator CreateObject ( )
191191 {
192- SpawnObject ( m_SpawnObject , Client ) ;
192+ SpawnObject ( m_SpawnObject , m_Client ) ;
193193 yield return m_ClientCodecHook . WaitForMessageReceived < CreateObjectMessage > ( ) ;
194194 }
195195
196196 [ UnityTest ]
197197 public IEnumerator DestroyObject ( )
198198 {
199- var spawnedObject = SpawnObject ( m_SpawnObject , Client ) ;
199+ var spawnedObject = SpawnObject ( m_SpawnObject , m_Client ) ;
200200 yield return m_ClientCodecHook . WaitForMessageReceived < CreateObjectMessage > ( ) ;
201201 spawnedObject . GetComponent < NetworkObject > ( ) . Despawn ( ) ;
202202 yield return m_ClientCodecHook . WaitForMessageReceived < DestroyObjectMessage > ( ) ;
@@ -231,10 +231,10 @@ public IEnumerator NamedMessage()
231231 [ UnityTest ]
232232 public IEnumerator NetworkVariableDelta ( )
233233 {
234- var component = Client . LocalClient . PlayerObject . GetComponent < TestNetworkComponent > ( ) ;
234+ var component = m_Client . LocalClient . PlayerObject . GetComponent < TestNetworkComponent > ( ) ;
235235 var message = new NetworkVariableDeltaMessage
236236 {
237- NetworkObjectId = Client . LocalClient . PlayerObject . NetworkObjectId ,
237+ NetworkObjectId = m_Client . LocalClient . PlayerObject . NetworkObjectId ,
238238 NetworkBehaviourIndex = component . NetworkBehaviourId ,
239239 DeliveryMappedNetworkVariableIndex = new HashSet < int > { 0 , 1 } ,
240240 TargetClientId = 5 ,
@@ -247,7 +247,7 @@ public IEnumerator NetworkVariableDelta()
247247 [ UnityTest ]
248248 public IEnumerator NetworkVariableDelta_WithValueUpdate ( )
249249 {
250- var instance = SpawnObject ( m_SpawnObject , Client ) ;
250+ var instance = SpawnObject ( m_SpawnObject , m_Client ) ;
251251 yield return m_ClientCodecHook . WaitForMessageReceived < CreateObjectMessage > ( ) ;
252252 var component = instance . GetComponent < TestNetworkComponent > ( ) ;
253253
@@ -260,7 +260,7 @@ public IEnumerator NetworkVariableDelta_WithValueUpdate()
260260 [ UnityTest ]
261261 public IEnumerator NetworkListDelta_WithValueUpdate ( )
262262 {
263- var instance = SpawnObject ( m_SpawnObject , Client ) ;
263+ var instance = SpawnObject ( m_SpawnObject , m_Client ) ;
264264 yield return m_ClientCodecHook . WaitForMessageReceived < CreateObjectMessage > ( ) ;
265265 var component = instance . GetComponent < TestNetworkComponent > ( ) ;
266266
@@ -337,8 +337,8 @@ public IEnumerator UnnamedMessage()
337337 [ UnityTest ]
338338 public IEnumerator SceneEventMessageLoad ( )
339339 {
340- Client . SceneManager . SkipSceneHandling = true ;
341- var eventData = new SceneEventData ( Client )
340+ m_Client . SceneManager . SkipSceneHandling = true ;
341+ var eventData = new SceneEventData ( m_Client )
342342 {
343343 SceneEventType = SceneEventType . Load ,
344344 LoadSceneMode = LoadSceneMode . Single ,
@@ -357,14 +357,14 @@ public IEnumerator SceneEventMessageLoad()
357357 [ UnityTest ]
358358 public IEnumerator SceneEventMessageLoadWithObjects ( )
359359 {
360- Client . SceneManager . SkipSceneHandling = true ;
360+ m_Client . SceneManager . SkipSceneHandling = true ;
361361 var prefabNetworkObject = m_SpawnObject . GetComponent < NetworkObject > ( ) ;
362362
363- Client . SceneManager . ScenePlacedObjects . Add ( 0 , new Dictionary < int , NetworkObject > ( )
363+ m_Client . SceneManager . ScenePlacedObjects . Add ( 0 , new Dictionary < int , NetworkObject > ( )
364364 {
365365 { 1 , prefabNetworkObject }
366366 } ) ;
367- var eventData = new SceneEventData ( Client )
367+ var eventData = new SceneEventData ( m_Client )
368368 {
369369 SceneEventType = SceneEventType . Load ,
370370 LoadSceneMode = LoadSceneMode . Single ,
@@ -383,8 +383,8 @@ public IEnumerator SceneEventMessageLoadWithObjects()
383383 [ UnityTest ]
384384 public IEnumerator SceneEventMessageUnload ( )
385385 {
386- Client . SceneManager . SkipSceneHandling = true ;
387- var eventData = new SceneEventData ( Client )
386+ m_Client . SceneManager . SkipSceneHandling = true ;
387+ var eventData = new SceneEventData ( m_Client )
388388 {
389389 SceneEventType = SceneEventType . Unload ,
390390 LoadSceneMode = LoadSceneMode . Single ,
@@ -403,8 +403,8 @@ public IEnumerator SceneEventMessageUnload()
403403 [ UnityTest ]
404404 public IEnumerator SceneEventMessageLoadComplete ( )
405405 {
406- Client . SceneManager . SkipSceneHandling = true ;
407- var eventData = new SceneEventData ( Client )
406+ m_Client . SceneManager . SkipSceneHandling = true ;
407+ var eventData = new SceneEventData ( m_Client )
408408 {
409409 SceneEventType = SceneEventType . LoadComplete ,
410410 LoadSceneMode = LoadSceneMode . Single ,
@@ -423,8 +423,8 @@ public IEnumerator SceneEventMessageLoadComplete()
423423 [ UnityTest ]
424424 public IEnumerator SceneEventMessageUnloadComplete ( )
425425 {
426- Client . SceneManager . SkipSceneHandling = true ;
427- var eventData = new SceneEventData ( Client )
426+ m_Client . SceneManager . SkipSceneHandling = true ;
427+ var eventData = new SceneEventData ( m_Client )
428428 {
429429 SceneEventType = SceneEventType . UnloadComplete ,
430430 LoadSceneMode = LoadSceneMode . Single ,
@@ -443,8 +443,8 @@ public IEnumerator SceneEventMessageUnloadComplete()
443443 [ UnityTest ]
444444 public IEnumerator SceneEventMessageLoadCompleted ( )
445445 {
446- Client . SceneManager . SkipSceneHandling = true ;
447- var eventData = new SceneEventData ( Client )
446+ m_Client . SceneManager . SkipSceneHandling = true ;
447+ var eventData = new SceneEventData ( m_Client )
448448 {
449449 SceneEventType = SceneEventType . LoadEventCompleted ,
450450 LoadSceneMode = LoadSceneMode . Single ,
@@ -465,8 +465,8 @@ public IEnumerator SceneEventMessageLoadCompleted()
465465 [ UnityTest ]
466466 public IEnumerator SceneEventMessageUnloadLoadCompleted ( )
467467 {
468- Client . SceneManager . SkipSceneHandling = true ;
469- var eventData = new SceneEventData ( Client )
468+ m_Client . SceneManager . SkipSceneHandling = true ;
469+ var eventData = new SceneEventData ( m_Client )
470470 {
471471 SceneEventType = SceneEventType . UnloadEventCompleted ,
472472 LoadSceneMode = LoadSceneMode . Single ,
@@ -487,8 +487,8 @@ public IEnumerator SceneEventMessageUnloadLoadCompleted()
487487 [ UnityTest ]
488488 public IEnumerator SceneEventMessageSynchronize ( )
489489 {
490- Client . SceneManager . SkipSceneHandling = true ;
491- var eventData = new SceneEventData ( Client )
490+ m_Client . SceneManager . SkipSceneHandling = true ;
491+ var eventData = new SceneEventData ( m_Client )
492492 {
493493 SceneEventType = SceneEventType . Synchronize ,
494494 LoadSceneMode = LoadSceneMode . Single ,
@@ -512,8 +512,8 @@ public IEnumerator SceneEventMessageSynchronize()
512512 [ UnityTest ]
513513 public IEnumerator SceneEventMessageReSynchronize ( )
514514 {
515- Client . SceneManager . SkipSceneHandling = true ;
516- var eventData = new SceneEventData ( Client )
515+ m_Client . SceneManager . SkipSceneHandling = true ;
516+ var eventData = new SceneEventData ( m_Client )
517517 {
518518 SceneEventType = SceneEventType . ReSynchronize ,
519519 LoadSceneMode = LoadSceneMode . Single ,
@@ -532,8 +532,8 @@ public IEnumerator SceneEventMessageReSynchronize()
532532 [ UnityTest ]
533533 public IEnumerator SceneEventMessageSynchronizeComplete ( )
534534 {
535- Client . SceneManager . SkipSceneHandling = true ;
536- var eventData = new SceneEventData ( Client )
535+ m_Client . SceneManager . SkipSceneHandling = true ;
536+ var eventData = new SceneEventData ( m_Client )
537537 {
538538 SceneEventType = SceneEventType . ReSynchronize ,
539539 LoadSceneMode = LoadSceneMode . Single ,
@@ -552,8 +552,8 @@ public IEnumerator SceneEventMessageSynchronizeComplete()
552552 [ UnityTest ]
553553 public IEnumerator SceneEventMessageActiveSceneChanged ( )
554554 {
555- Client . SceneManager . SkipSceneHandling = true ;
556- var eventData = new SceneEventData ( Client )
555+ m_Client . SceneManager . SkipSceneHandling = true ;
556+ var eventData = new SceneEventData ( m_Client )
557557 {
558558 SceneEventType = SceneEventType . ActiveSceneChanged ,
559559 ActiveSceneHash = XXHash . Hash32 ( "ActiveScene" )
@@ -569,15 +569,15 @@ public IEnumerator SceneEventMessageActiveSceneChanged()
569569 [ UnityTest , Ignore ( "Serializing twice causes data to disappear in the SceneManager for this event" ) ]
570570 public IEnumerator SceneEventMessageObjectSceneChanged ( )
571571 {
572- Client . SceneManager . SkipSceneHandling = true ;
572+ m_Client . SceneManager . SkipSceneHandling = true ;
573573 var prefabNetworkObject = m_SpawnObject . GetComponent < NetworkObject > ( ) ;
574- Client . SceneManager . ObjectsMigratedIntoNewScene = new Dictionary < int , Dictionary < ulong , List < NetworkObject > > >
574+ m_Client . SceneManager . ObjectsMigratedIntoNewScene = new Dictionary < int , Dictionary < ulong , List < NetworkObject > > >
575575 {
576576 { 0 , new Dictionary < ulong , List < NetworkObject > > ( ) }
577577 } ;
578578
579- Client . SceneManager . ObjectsMigratedIntoNewScene [ 0 ] . Add ( Client . LocalClientId , new List < NetworkObject > ( ) { prefabNetworkObject } ) ;
580- var eventData = new SceneEventData ( Client )
579+ m_Client . SceneManager . ObjectsMigratedIntoNewScene [ 0 ] . Add ( m_Client . LocalClientId , new List < NetworkObject > ( ) { prefabNetworkObject } ) ;
580+ var eventData = new SceneEventData ( m_Client )
581581 {
582582 SceneEventType = SceneEventType . ObjectSceneChanged ,
583583 } ;
@@ -592,12 +592,12 @@ public IEnumerator SceneEventMessageObjectSceneChanged()
592592
593593 private IEnumerator SendMessage < T > ( ref T message ) where T : INetworkMessage
594594 {
595- Client . MessageManager . SetVersion ( k_ClientId , XXHash . Hash32 ( typeof ( T ) . FullName ) , message . Version ) ;
595+ m_Client . MessageManager . SetVersion ( k_ClientId , XXHash . Hash32 ( typeof ( T ) . FullName ) , message . Version ) ;
596596
597597 var clientIds = new NativeArray < ulong > ( 1 , Allocator . Temp ) ;
598598 clientIds [ 0 ] = k_ClientId ;
599- Client . MessageManager . SendMessage ( ref message , NetworkDelivery . ReliableSequenced , clientIds ) ;
600- Client . MessageManager . ProcessSendQueues ( ) ;
599+ m_Client . MessageManager . SendMessage ( ref message , NetworkDelivery . ReliableSequenced , clientIds ) ;
600+ m_Client . MessageManager . ProcessSendQueues ( ) ;
601601 return m_ClientCodecHook . WaitForMessageReceived ( message ) ;
602602 }
603603
0 commit comments