@@ -74,7 +74,7 @@ private IEnumerator CheckVisible(bool target)
74
74
int count = 0 ;
75
75
do
76
76
{
77
- yield return new WaitForSeconds ( 0.1f ) ;
77
+ yield return NetcodeIntegrationTestHelpers . WaitForTicks ( m_ServerNetworkManager , 5 ) ;
78
78
count ++ ;
79
79
80
80
if ( count > 20 )
@@ -140,18 +140,18 @@ private IEnumerator RefreshNetworkObjects()
140
140
{
141
141
var serverClientPlayerResult = new NetcodeIntegrationTestHelpers . ResultWrapper < NetworkObject > ( ) ;
142
142
yield return NetcodeIntegrationTestHelpers . GetNetworkObjectByRepresentation (
143
- x => x . NetworkObjectId == m_NetSpawnedObject1 . NetworkObjectId ,
143
+ x => x . NetworkObjectId == m_NetSpawnedObject1 . NetworkObjectId && x . IsSpawned ,
144
144
m_ClientNetworkManagers [ 0 ] ,
145
145
serverClientPlayerResult ) ;
146
146
m_Object1OnClient0 = serverClientPlayerResult . Result ;
147
147
yield return NetcodeIntegrationTestHelpers . GetNetworkObjectByRepresentation (
148
- x => x . NetworkObjectId == m_NetSpawnedObject2 . NetworkObjectId ,
148
+ x => x . NetworkObjectId == m_NetSpawnedObject2 . NetworkObjectId && x . IsSpawned ,
149
149
m_ClientNetworkManagers [ 0 ] ,
150
150
serverClientPlayerResult ) ;
151
151
m_Object2OnClient0 = serverClientPlayerResult . Result ;
152
152
serverClientPlayerResult = new NetcodeIntegrationTestHelpers . ResultWrapper < NetworkObject > ( ) ;
153
153
yield return NetcodeIntegrationTestHelpers . GetNetworkObjectByRepresentation (
154
- x => x . NetworkObjectId == m_NetSpawnedObject3 . NetworkObjectId ,
154
+ x => x . NetworkObjectId == m_NetSpawnedObject3 . NetworkObjectId && x . IsSpawned ,
155
155
m_ClientNetworkManagers [ 0 ] ,
156
156
serverClientPlayerResult ) ;
157
157
m_Object3OnClient0 = serverClientPlayerResult . Result ;
@@ -196,11 +196,11 @@ public IEnumerator NetworkShowHideTest()
196
196
// hide them on one client
197
197
Show ( mode == 0 , false ) ;
198
198
199
- yield return new WaitForSeconds ( 1.0f ) ;
199
+ yield return NetcodeIntegrationTestHelpers . WaitForTicks ( m_ServerNetworkManager , 5 ) ;
200
200
201
201
m_NetSpawnedObject1 . GetComponent < ShowHideObject > ( ) . MyNetworkVariable . Value = 3 ;
202
202
203
- yield return new WaitForSeconds ( 1.0f ) ;
203
+ yield return NetcodeIntegrationTestHelpers . WaitForTicks ( m_ServerNetworkManager , 5 ) ;
204
204
205
205
// verify they got hidden
206
206
yield return CheckVisible ( false ) ;
@@ -213,5 +213,44 @@ public IEnumerator NetworkShowHideTest()
213
213
yield return CheckVisible ( true ) ;
214
214
}
215
215
}
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
+ }
216
255
}
217
256
}
0 commit comments