@@ -74,7 +74,7 @@ private IEnumerator CheckVisible(bool target)
7474 int count = 0 ;
7575 do
7676 {
77- yield return new WaitForSeconds ( 0.1f ) ;
77+ yield return NetcodeIntegrationTestHelpers . WaitForTicks ( m_ServerNetworkManager , 5 ) ;
7878 count ++ ;
7979
8080 if ( count > 20 )
@@ -140,18 +140,18 @@ private IEnumerator RefreshNetworkObjects()
140140 {
141141 var serverClientPlayerResult = new NetcodeIntegrationTestHelpers . ResultWrapper < NetworkObject > ( ) ;
142142 yield return NetcodeIntegrationTestHelpers . GetNetworkObjectByRepresentation (
143- x => x . NetworkObjectId == m_NetSpawnedObject1 . NetworkObjectId ,
143+ x => x . NetworkObjectId == m_NetSpawnedObject1 . NetworkObjectId && x . IsSpawned ,
144144 m_ClientNetworkManagers [ 0 ] ,
145145 serverClientPlayerResult ) ;
146146 m_Object1OnClient0 = serverClientPlayerResult . Result ;
147147 yield return NetcodeIntegrationTestHelpers . GetNetworkObjectByRepresentation (
148- x => x . NetworkObjectId == m_NetSpawnedObject2 . NetworkObjectId ,
148+ x => x . NetworkObjectId == m_NetSpawnedObject2 . NetworkObjectId && x . IsSpawned ,
149149 m_ClientNetworkManagers [ 0 ] ,
150150 serverClientPlayerResult ) ;
151151 m_Object2OnClient0 = serverClientPlayerResult . Result ;
152152 serverClientPlayerResult = new NetcodeIntegrationTestHelpers . ResultWrapper < NetworkObject > ( ) ;
153153 yield return NetcodeIntegrationTestHelpers . GetNetworkObjectByRepresentation (
154- x => x . NetworkObjectId == m_NetSpawnedObject3 . NetworkObjectId ,
154+ x => x . NetworkObjectId == m_NetSpawnedObject3 . NetworkObjectId && x . IsSpawned ,
155155 m_ClientNetworkManagers [ 0 ] ,
156156 serverClientPlayerResult ) ;
157157 m_Object3OnClient0 = serverClientPlayerResult . Result ;
@@ -196,11 +196,11 @@ public IEnumerator NetworkShowHideTest()
196196 // hide them on one client
197197 Show ( mode == 0 , false ) ;
198198
199- yield return new WaitForSeconds ( 1.0f ) ;
199+ yield return NetcodeIntegrationTestHelpers . WaitForTicks ( m_ServerNetworkManager , 5 ) ;
200200
201201 m_NetSpawnedObject1 . GetComponent < ShowHideObject > ( ) . MyNetworkVariable . Value = 3 ;
202202
203- yield return new WaitForSeconds ( 1.0f ) ;
203+ yield return NetcodeIntegrationTestHelpers . WaitForTicks ( m_ServerNetworkManager , 5 ) ;
204204
205205 // verify they got hidden
206206 yield return CheckVisible ( false ) ;
@@ -213,5 +213,44 @@ public IEnumerator NetworkShowHideTest()
213213 yield return CheckVisible ( true ) ;
214214 }
215215 }
216+
217+ [ UnityTest ]
218+ public IEnumerator NetworkShowHideQuickTest ( )
219+ {
220+ m_ClientId0 = m_ClientNetworkManagers [ 0 ] . LocalClientId ;
221+
222+ var spawnedObject1 = UnityEngine . Object . Instantiate ( m_PrefabToSpawn ) ;
223+ var spawnedObject2 = UnityEngine . Object . Instantiate ( m_PrefabToSpawn ) ;
224+ var spawnedObject3 = UnityEngine . Object . Instantiate ( m_PrefabToSpawn ) ;
225+ m_NetSpawnedObject1 = spawnedObject1 . GetComponent < NetworkObject > ( ) ;
226+ m_NetSpawnedObject2 = spawnedObject2 . GetComponent < NetworkObject > ( ) ;
227+ m_NetSpawnedObject3 = spawnedObject3 . GetComponent < NetworkObject > ( ) ;
228+ m_NetSpawnedObject1 . NetworkManagerOwner = m_ServerNetworkManager ;
229+ m_NetSpawnedObject2 . NetworkManagerOwner = m_ServerNetworkManager ;
230+ m_NetSpawnedObject3 . NetworkManagerOwner = m_ServerNetworkManager ;
231+ m_NetSpawnedObject1 . Spawn ( ) ;
232+ m_NetSpawnedObject2 . Spawn ( ) ;
233+ m_NetSpawnedObject3 . Spawn ( ) ;
234+
235+ for ( int mode = 0 ; mode < 2 ; mode ++ )
236+ {
237+ // get the NetworkObject on a client instance
238+ yield return RefreshNetworkObjects ( ) ;
239+
240+ // check object start visible
241+ yield return CheckVisible ( true ) ;
242+
243+ // hide and show them on one client, during the same frame
244+ Show ( mode == 0 , false ) ;
245+ Show ( mode == 0 , true ) ;
246+
247+ yield return NetcodeIntegrationTestHelpers . WaitForTicks ( m_ServerNetworkManager , 5 ) ;
248+ yield return RefreshNetworkObjects ( ) ;
249+ yield return NetcodeIntegrationTestHelpers . WaitForTicks ( m_ServerNetworkManager , 5 ) ;
250+
251+ // verify they become visible
252+ yield return CheckVisible ( true ) ;
253+ }
254+ }
216255 }
217256}
0 commit comments