@@ -39,8 +39,6 @@ internal class NetworkMetrics : INetworkMetrics
39
39
readonly EventMetric < SceneEventMetric > m_SceneEventReceivedEvent = new EventMetric < SceneEventMetric > ( NetworkMetricTypes . SceneEventReceived . Id ) ;
40
40
private bool m_Dirty ;
41
41
42
- readonly Dictionary < ulong , NetworkObjectIdentifier > m_NetworkGameObjects = new Dictionary < ulong , NetworkObjectIdentifier > ( ) ;
43
-
44
42
public NetworkMetrics ( )
45
43
{
46
44
Dispatcher = new MetricDispatcherBuilder ( )
@@ -77,14 +75,6 @@ public void TrackTransportBytesReceived(long bytesCount)
77
75
m_TransportBytesReceived . Increment ( bytesCount ) ;
78
76
}
79
77
80
- public void TrackNetworkObject ( NetworkObject networkObject )
81
- {
82
- if ( ! m_NetworkGameObjects . ContainsKey ( networkObject . NetworkObjectId ) )
83
- {
84
- m_NetworkGameObjects [ networkObject . NetworkObjectId ] = new NetworkObjectIdentifier ( networkObject . name , networkObject . NetworkObjectId ) ;
85
- }
86
- }
87
-
88
78
public void TrackNetworkMessageSent ( ulong receivedClientId , string messageType , long bytesCount )
89
79
{
90
80
m_NetworkMessageSentEvent . Mark ( new NetworkMessageEvent ( new ConnectionInfo ( receivedClientId ) , messageType , bytesCount ) ) ;
@@ -139,16 +129,15 @@ public void TrackUnnamedMessageReceived(ulong senderClientId, long bytesCount)
139
129
140
130
public void TrackNetworkVariableDeltaSent (
141
131
ulong receiverClientId ,
142
- ulong networkObjectId ,
143
- string gameObjectName ,
132
+ NetworkObject networkObject ,
144
133
string variableName ,
145
134
string networkBehaviourName ,
146
135
long bytesCount )
147
136
{
148
137
m_NetworkVariableDeltaSentEvent . Mark (
149
138
new NetworkVariableEvent (
150
139
new ConnectionInfo ( receiverClientId ) ,
151
- new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) ,
140
+ GetObjectIdentifier ( networkObject ) ,
152
141
variableName ,
153
142
networkBehaviourName ,
154
143
bytesCount ) ) ;
@@ -157,75 +146,69 @@ public void TrackNetworkVariableDeltaSent(
157
146
158
147
public void TrackNetworkVariableDeltaReceived (
159
148
ulong senderClientId ,
160
- ulong networkObjectId ,
161
- string gameObjectName ,
149
+ NetworkObject networkObject ,
162
150
string variableName ,
163
151
string networkBehaviourName ,
164
152
long bytesCount )
165
153
{
166
154
m_NetworkVariableDeltaReceivedEvent . Mark (
167
155
new NetworkVariableEvent (
168
156
new ConnectionInfo ( senderClientId ) ,
169
- new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) ,
157
+ GetObjectIdentifier ( networkObject ) ,
170
158
variableName ,
171
159
networkBehaviourName ,
172
160
bytesCount ) ) ;
173
161
MarkDirty ( ) ;
174
162
}
175
163
176
- public void TrackOwnershipChangeSent ( ulong receiverClientId , ulong networkObjectId , string gameObjectName , long bytesCount )
164
+ public void TrackOwnershipChangeSent ( ulong receiverClientId , NetworkObject networkObject , long bytesCount )
177
165
{
178
- m_OwnershipChangeSentEvent . Mark ( new OwnershipChangeEvent ( new ConnectionInfo ( receiverClientId ) , new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) , bytesCount ) ) ;
166
+ m_OwnershipChangeSentEvent . Mark ( new OwnershipChangeEvent ( new ConnectionInfo ( receiverClientId ) , GetObjectIdentifier ( networkObject ) , bytesCount ) ) ;
179
167
MarkDirty ( ) ;
180
168
}
181
169
182
- public void TrackOwnershipChangeReceived ( ulong senderClientId , ulong networkObjectId , string gameObjectName , long bytesCount )
170
+ public void TrackOwnershipChangeReceived ( ulong senderClientId , NetworkObject networkObject , long bytesCount )
183
171
{
184
172
m_OwnershipChangeReceivedEvent . Mark ( new OwnershipChangeEvent ( new ConnectionInfo ( senderClientId ) ,
185
- new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) , bytesCount ) ) ;
173
+ GetObjectIdentifier ( networkObject ) , bytesCount ) ) ;
186
174
MarkDirty ( ) ;
187
175
}
188
176
189
- public void TrackObjectSpawnSent ( ulong receiverClientId , ulong networkObjectId , string gameObjectName , long bytesCount )
177
+ public void TrackObjectSpawnSent ( ulong receiverClientId , NetworkObject networkObject , long bytesCount )
190
178
{
191
- m_ObjectSpawnSentEvent . Mark ( new ObjectSpawnedEvent ( new ConnectionInfo ( receiverClientId ) , new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) , bytesCount ) ) ;
179
+ m_ObjectSpawnSentEvent . Mark ( new ObjectSpawnedEvent ( new ConnectionInfo ( receiverClientId ) , GetObjectIdentifier ( networkObject ) , bytesCount ) ) ;
192
180
MarkDirty ( ) ;
193
181
}
194
182
195
- public void TrackObjectSpawnReceived ( ulong senderClientId , ulong networkObjectId , string gameObjectName , long bytesCount )
183
+ public void TrackObjectSpawnReceived ( ulong senderClientId , NetworkObject networkObject , long bytesCount )
196
184
{
197
- m_ObjectSpawnReceivedEvent . Mark ( new ObjectSpawnedEvent ( new ConnectionInfo ( senderClientId ) , new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) , bytesCount ) ) ;
185
+ m_ObjectSpawnReceivedEvent . Mark ( new ObjectSpawnedEvent ( new ConnectionInfo ( senderClientId ) , GetObjectIdentifier ( networkObject ) , bytesCount ) ) ;
198
186
MarkDirty ( ) ;
199
187
}
200
188
201
- public void TrackObjectDestroySent ( ulong receiverClientId , ulong networkObjectId , string gameObjectName , long bytesCount )
189
+ public void TrackObjectDestroySent ( ulong receiverClientId , NetworkObject networkObject , long bytesCount )
202
190
{
203
- m_ObjectDestroySentEvent . Mark ( new ObjectDestroyedEvent ( new ConnectionInfo ( receiverClientId ) , new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) , bytesCount ) ) ;
191
+ m_ObjectDestroySentEvent . Mark ( new ObjectDestroyedEvent ( new ConnectionInfo ( receiverClientId ) , GetObjectIdentifier ( networkObject ) , bytesCount ) ) ;
204
192
MarkDirty ( ) ;
205
193
}
206
194
207
- public void TrackObjectDestroyReceived ( ulong senderClientId , ulong networkObjectId , string gameObjectName , long bytesCount )
195
+ public void TrackObjectDestroyReceived ( ulong senderClientId , NetworkObject networkObject , long bytesCount )
208
196
{
209
- m_ObjectDestroyReceivedEvent . Mark ( new ObjectDestroyedEvent ( new ConnectionInfo ( senderClientId ) , new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) , bytesCount ) ) ;
197
+ m_ObjectDestroyReceivedEvent . Mark ( new ObjectDestroyedEvent ( new ConnectionInfo ( senderClientId ) , GetObjectIdentifier ( networkObject ) , bytesCount ) ) ;
210
198
MarkDirty ( ) ;
211
199
}
212
200
213
201
public void TrackRpcSent (
214
202
ulong receiverClientId ,
215
- ulong networkObjectId ,
203
+ NetworkObject networkObject ,
216
204
string rpcName ,
217
205
string networkBehaviourName ,
218
206
long bytesCount )
219
207
{
220
- if ( ! m_NetworkGameObjects . TryGetValue ( networkObjectId , out var networkObjectIdentifier ) )
221
- {
222
- networkObjectIdentifier = new NetworkObjectIdentifier ( "" , networkObjectId ) ;
223
- }
224
-
225
208
m_RpcSentEvent . Mark (
226
209
new RpcEvent (
227
210
new ConnectionInfo ( receiverClientId ) ,
228
- networkObjectIdentifier ,
211
+ GetObjectIdentifier ( networkObject ) ,
229
212
rpcName ,
230
213
networkBehaviourName ,
231
214
bytesCount ) ) ;
@@ -234,32 +217,27 @@ public void TrackRpcSent(
234
217
235
218
public void TrackRpcSent (
236
219
ulong [ ] receiverClientIds ,
237
- ulong networkObjectId ,
220
+ NetworkObject networkObject ,
238
221
string rpcName ,
239
222
string networkBehaviourName ,
240
223
long bytesCount )
241
224
{
242
225
foreach ( var receiverClientId in receiverClientIds )
243
226
{
244
- TrackRpcSent ( receiverClientId , networkObjectId , rpcName , networkBehaviourName , bytesCount ) ;
227
+ TrackRpcSent ( receiverClientId , networkObject , rpcName , networkBehaviourName , bytesCount ) ;
245
228
}
246
229
}
247
230
248
231
public void TrackRpcReceived (
249
232
ulong senderClientId ,
250
- ulong networkObjectId ,
233
+ NetworkObject networkObject ,
251
234
string rpcName ,
252
235
string networkBehaviourName ,
253
236
long bytesCount )
254
237
{
255
- if ( ! m_NetworkGameObjects . TryGetValue ( networkObjectId , out var networkObjectIdentifier ) )
256
- {
257
- networkObjectIdentifier = new NetworkObjectIdentifier ( "" , networkObjectId ) ;
258
- }
259
-
260
238
m_RpcReceivedEvent . Mark (
261
239
new RpcEvent ( new ConnectionInfo ( senderClientId ) ,
262
- networkObjectIdentifier ,
240
+ GetObjectIdentifier ( networkObject ) ,
263
241
rpcName ,
264
242
networkBehaviourName ,
265
243
bytesCount ) ) ;
@@ -311,6 +289,11 @@ private void MarkDirty()
311
289
{
312
290
m_Dirty = true ;
313
291
}
292
+
293
+ private static NetworkObjectIdentifier GetObjectIdentifier ( NetworkObject networkObject )
294
+ {
295
+ return new NetworkObjectIdentifier ( networkObject . GetNameForMetrics ( ) , networkObject . NetworkObjectId ) ;
296
+ }
314
297
}
315
298
316
299
internal class NetcodeObserver
0 commit comments