@@ -13,16 +13,16 @@ namespace Unity.Netcode.RuntimeTests.Metrics
13
13
{
14
14
public class NetworkObjectMetricsTests : SingleClientMetricTestBase
15
15
{
16
- const string NewNetworkObjectName = "TestNetworkObjectToSpawn" ;
16
+ private const string k_NewNetworkObjectName = "TestNetworkObjectToSpawn" ;
17
17
18
- NetworkObject m_NewNetworkObject ;
18
+ private NetworkObject m_NewNetworkPrefab ;
19
19
20
20
protected override Action < GameObject > UpdatePlayerPrefab => _ =>
21
21
{
22
- var gameObject = new GameObject ( NewNetworkObjectName ) ;
23
- m_NewNetworkObject = gameObject . AddComponent < NetworkObject > ( ) ;
24
- m_NewNetworkObject . NetworkManagerOwner = m_ServerNetworkManager ;
25
- MultiInstanceHelpers . MakeNetworkObjectTestPrefab ( m_NewNetworkObject ) ;
22
+ var gameObject = new GameObject ( k_NewNetworkObjectName ) ;
23
+ m_NewNetworkPrefab = gameObject . AddComponent < NetworkObject > ( ) ;
24
+ m_NewNetworkPrefab . NetworkManagerOwner = m_ServerNetworkManager ;
25
+ MultiInstanceHelpers . MakeNetworkObjectTestPrefab ( m_NewNetworkPrefab ) ;
26
26
var networkPrefab = new NetworkPrefab { Prefab = gameObject } ;
27
27
m_ServerNetworkManager . NetworkConfig . NetworkPrefabs . Add ( networkPrefab ) ;
28
28
@@ -32,12 +32,23 @@ public class NetworkObjectMetricsTests : SingleClientMetricTestBase
32
32
}
33
33
} ;
34
34
35
+ private NetworkObject SpawnNetworkObject ( )
36
+ {
37
+ // Spawn another network object so we can hide multiple.
38
+ var gameObject = UnityEngine . Object . Instantiate ( m_NewNetworkPrefab ) ; // new GameObject(NewNetworkObjectName);
39
+ var networkObject = gameObject . GetComponent < NetworkObject > ( ) ;
40
+ networkObject . NetworkManagerOwner = Server ;
41
+ networkObject . Spawn ( ) ;
42
+
43
+ return networkObject ;
44
+ }
45
+
35
46
[ UnityTest ]
36
47
public IEnumerator TrackNetworkObjectSpawnSentMetric ( )
37
48
{
38
49
var waitForMetricEvent = new WaitForMetricValues < ObjectSpawnedEvent > ( ServerMetrics . Dispatcher , MetricNames . ObjectSpawnedSent ) ;
39
50
40
- m_NewNetworkObject . Spawn ( ) ;
51
+ SpawnNetworkObject ( ) ;
41
52
42
53
yield return waitForMetricEvent . WaitForMetricsReceived ( ) ;
43
54
@@ -46,7 +57,7 @@ public IEnumerator TrackNetworkObjectSpawnSentMetric()
46
57
47
58
var objectSpawned = objectSpawnedSentMetricValues . First ( ) ;
48
59
Assert . AreEqual ( Client . LocalClientId , objectSpawned . Connection . Id ) ;
49
- Assert . AreEqual ( NewNetworkObjectName , objectSpawned . NetworkId . Name ) ;
60
+ Assert . AreEqual ( $ " { k_NewNetworkObjectName } (Clone)" , objectSpawned . NetworkId . Name ) ;
50
61
Assert . AreNotEqual ( 0 , objectSpawned . BytesCount ) ;
51
62
}
52
63
@@ -55,7 +66,7 @@ public IEnumerator TrackNetworkObjectSpawnReceivedMetric()
55
66
{
56
67
var waitForMetricEvent = new WaitForMetricValues < ObjectSpawnedEvent > ( ClientMetrics . Dispatcher , MetricNames . ObjectSpawnedReceived ) ;
57
68
58
- m_NewNetworkObject . Spawn ( ) ;
69
+ var networkObject = SpawnNetworkObject ( ) ;
59
70
60
71
yield return waitForMetricEvent . WaitForMetricsReceived ( ) ;
61
72
@@ -64,21 +75,21 @@ public IEnumerator TrackNetworkObjectSpawnReceivedMetric()
64
75
65
76
var objectSpawned = objectSpawnedReceivedMetricValues . First ( ) ;
66
77
Assert . AreEqual ( Server . LocalClientId , objectSpawned . Connection . Id ) ;
67
- Assert . AreEqual ( m_NewNetworkObject . NetworkObjectId , objectSpawned . NetworkId . NetworkId ) ;
68
- Assert . AreEqual ( $ "{ NewNetworkObjectName } (Clone)", objectSpawned . NetworkId . Name ) ;
78
+ Assert . AreEqual ( networkObject . NetworkObjectId , objectSpawned . NetworkId . NetworkId ) ;
79
+ Assert . AreEqual ( $ "{ k_NewNetworkObjectName } (Clone)", objectSpawned . NetworkId . Name ) ;
69
80
Assert . AreNotEqual ( 0 , objectSpawned . BytesCount ) ;
70
81
}
71
82
72
83
[ UnityTest ]
73
84
public IEnumerator TrackNetworkObjectDestroySentMetric ( )
74
85
{
75
- m_NewNetworkObject . Spawn ( ) ;
86
+ var networkObject = SpawnNetworkObject ( ) ;
76
87
77
88
yield return new WaitForSeconds ( 0.2f ) ;
78
89
79
90
var waitForMetricEvent = new WaitForMetricValues < ObjectDestroyedEvent > ( ServerMetrics . Dispatcher , MetricNames . ObjectDestroyedSent ) ;
80
91
81
- Server . SpawnManager . OnDespawnObject ( m_NewNetworkObject , true ) ;
92
+ Server . SpawnManager . OnDespawnObject ( networkObject , true ) ;
82
93
83
94
yield return waitForMetricEvent . WaitForMetricsReceived ( ) ;
84
95
@@ -87,20 +98,20 @@ public IEnumerator TrackNetworkObjectDestroySentMetric()
87
98
88
99
var objectDestroyed = objectDestroyedSentMetricValues . Last ( ) ;
89
100
Assert . AreEqual ( Client . LocalClientId , objectDestroyed . Connection . Id ) ;
90
- Assert . AreEqual ( NewNetworkObjectName , objectDestroyed . NetworkId . Name ) ;
101
+ Assert . AreEqual ( $ " { k_NewNetworkObjectName } (Clone)" , objectDestroyed . NetworkId . Name ) ;
91
102
Assert . AreNotEqual ( 0 , objectDestroyed . BytesCount ) ;
92
103
}
93
104
94
105
[ UnityTest ]
95
106
public IEnumerator TrackNetworkObjectDestroyReceivedMetric ( )
96
107
{
97
- m_NewNetworkObject . Spawn ( ) ;
108
+ var networkObject = SpawnNetworkObject ( ) ;
98
109
99
110
yield return new WaitForSeconds ( 0.2f ) ;
100
111
101
112
var waitForMetricEvent = new WaitForMetricValues < ObjectDestroyedEvent > ( ClientMetrics . Dispatcher , MetricNames . ObjectDestroyedReceived ) ;
102
113
103
- Server . SpawnManager . OnDespawnObject ( m_NewNetworkObject , true ) ;
114
+ Server . SpawnManager . OnDespawnObject ( networkObject , true ) ;
104
115
105
116
yield return waitForMetricEvent . WaitForMetricsReceived ( ) ;
106
117
@@ -109,31 +120,26 @@ public IEnumerator TrackNetworkObjectDestroyReceivedMetric()
109
120
110
121
var objectDestroyed = objectDestroyedReceivedMetricValues . First ( ) ;
111
122
Assert . AreEqual ( Server . LocalClientId , objectDestroyed . Connection . Id ) ;
112
- Assert . AreEqual ( m_NewNetworkObject . NetworkObjectId , objectDestroyed . NetworkId . NetworkId ) ;
113
- Assert . AreEqual ( $ "{ NewNetworkObjectName } (Clone)", objectDestroyed . NetworkId . Name ) ;
123
+ Assert . AreEqual ( networkObject . NetworkObjectId , objectDestroyed . NetworkId . NetworkId ) ;
124
+ Assert . AreEqual ( $ "{ k_NewNetworkObjectName } (Clone)", objectDestroyed . NetworkId . Name ) ;
114
125
Assert . AreNotEqual ( 0 , objectDestroyed . BytesCount ) ;
115
126
}
116
127
117
128
[ UnityTest ]
118
129
public IEnumerator TrackMultipleNetworkObjectSpawnSentMetric ( )
119
130
{
120
- m_NewNetworkObject . Spawn ( ) ;
121
-
122
- // Spawn another network object so we can hide multiple.
123
- var gameObject = new GameObject ( NewNetworkObjectName ) ;
124
- var anotherNetworkObject = gameObject . AddComponent < NetworkObject > ( ) ;
125
- anotherNetworkObject . NetworkManagerOwner = Server ;
126
- anotherNetworkObject . Spawn ( ) ;
131
+ var networkObject1 = SpawnNetworkObject ( ) ;
132
+ var networkObject2 = SpawnNetworkObject ( ) ;
127
133
128
134
yield return new WaitForSeconds ( 0.2f ) ;
129
135
130
- NetworkObject . NetworkHide ( new List < NetworkObject > { m_NewNetworkObject , anotherNetworkObject } , Client . LocalClientId ) ;
136
+ NetworkObject . NetworkHide ( new List < NetworkObject > { networkObject1 , networkObject2 } , Client . LocalClientId ) ;
131
137
132
138
yield return new WaitForSeconds ( 0.2f ) ;
133
139
134
140
var waitForMetricEvent = new WaitForMetricValues < ObjectSpawnedEvent > ( ServerMetrics . Dispatcher , MetricNames . ObjectSpawnedSent ) ;
135
141
136
- NetworkObject . NetworkShow ( new List < NetworkObject > { m_NewNetworkObject , anotherNetworkObject } , Client . LocalClientId ) ;
142
+ NetworkObject . NetworkShow ( new List < NetworkObject > { networkObject1 , networkObject2 } , Client . LocalClientId ) ;
137
143
138
144
yield return waitForMetricEvent . WaitForMetricsReceived ( ) ;
139
145
@@ -143,14 +149,14 @@ public IEnumerator TrackMultipleNetworkObjectSpawnSentMetric()
143
149
objectSpawnedSentMetricValues ,
144
150
Has . Exactly ( 1 ) . Matches < ObjectSpawnedEvent > (
145
151
x => Client . LocalClientId == x . Connection . Id
146
- && x . NetworkId . NetworkId == m_NewNetworkObject . NetworkObjectId
147
- && x . NetworkId . Name == m_NewNetworkObject . name ) ) ;
152
+ && x . NetworkId . NetworkId == networkObject1 . NetworkObjectId
153
+ && x . NetworkId . Name == networkObject1 . name ) ) ;
148
154
Assert . That (
149
155
objectSpawnedSentMetricValues ,
150
156
Has . Exactly ( 1 ) . Matches < ObjectSpawnedEvent > (
151
157
x => Client . LocalClientId == x . Connection . Id
152
- && x . NetworkId . NetworkId == anotherNetworkObject . NetworkObjectId
153
- && x . NetworkId . Name == anotherNetworkObject . name ) ) ;
158
+ && x . NetworkId . NetworkId == networkObject2 . NetworkObjectId
159
+ && x . NetworkId . Name == networkObject2 . name ) ) ;
154
160
155
161
Assert . AreEqual ( 1 , objectSpawnedSentMetricValues . Select ( x => x . BytesCount ) . Distinct ( ) . Count ( ) ) ;
156
162
Assert . That ( objectSpawnedSentMetricValues . Select ( x => x . BytesCount ) , Has . All . Not . EqualTo ( 0 ) ) ;
@@ -159,19 +165,14 @@ public IEnumerator TrackMultipleNetworkObjectSpawnSentMetric()
159
165
[ UnityTest ]
160
166
public IEnumerator TrackMultipleNetworkObjectDestroySentMetric ( )
161
167
{
162
- m_NewNetworkObject . Spawn ( ) ;
163
-
164
- // Spawn another network object so we can hide multiple.
165
- var gameObject = new GameObject ( NewNetworkObjectName ) ;
166
- var anotherNetworkObject = gameObject . AddComponent < NetworkObject > ( ) ;
167
- anotherNetworkObject . NetworkManagerOwner = Server ;
168
- anotherNetworkObject . Spawn ( ) ;
168
+ var networkObject1 = SpawnNetworkObject ( ) ;
169
+ var networkObject2 = SpawnNetworkObject ( ) ;
169
170
170
171
yield return new WaitForSeconds ( 0.2f ) ;
171
172
172
173
var waitForMetricEvent = new WaitForMetricValues < ObjectDestroyedEvent > ( ServerMetrics . Dispatcher , MetricNames . ObjectDestroyedSent ) ;
173
174
174
- NetworkObject . NetworkHide ( new List < NetworkObject > { m_NewNetworkObject , anotherNetworkObject } , Client . LocalClientId ) ;
175
+ NetworkObject . NetworkHide ( new List < NetworkObject > { networkObject1 , networkObject2 } , Client . LocalClientId ) ;
175
176
176
177
yield return waitForMetricEvent . WaitForMetricsReceived ( ) ;
177
178
@@ -181,14 +182,14 @@ public IEnumerator TrackMultipleNetworkObjectDestroySentMetric()
181
182
objectDestroyedSentMetricValues ,
182
183
Has . Exactly ( 1 ) . Matches < ObjectDestroyedEvent > (
183
184
x => Client . LocalClientId == x . Connection . Id
184
- && x . NetworkId . NetworkId == m_NewNetworkObject . NetworkObjectId
185
- && x . NetworkId . Name == m_NewNetworkObject . name ) ) ;
185
+ && x . NetworkId . NetworkId == networkObject1 . NetworkObjectId
186
+ && x . NetworkId . Name == networkObject1 . name ) ) ;
186
187
Assert . That (
187
188
objectDestroyedSentMetricValues ,
188
189
Has . Exactly ( 1 ) . Matches < ObjectDestroyedEvent > (
189
190
x => Client . LocalClientId == x . Connection . Id
190
- && x . NetworkId . NetworkId == anotherNetworkObject . NetworkObjectId
191
- && x . NetworkId . Name == anotherNetworkObject . name ) ) ;
191
+ && x . NetworkId . NetworkId == networkObject2 . NetworkObjectId
192
+ && x . NetworkId . Name == networkObject2 . name ) ) ;
192
193
193
194
Assert . AreEqual ( 1 , objectDestroyedSentMetricValues . Select ( x => x . BytesCount ) . Distinct ( ) . Count ( ) ) ;
194
195
Assert . That ( objectDestroyedSentMetricValues . Select ( x => x . BytesCount ) , Has . All . Not . EqualTo ( 0 ) ) ;
0 commit comments