Skip to content

Commit 6f1f035

Browse files
committed
Internal messagetypes and channels no longer gets added to the user NetworkConfig
1 parent 17a594e commit 6f1f035

File tree

1 file changed

+32
-16
lines changed

1 file changed

+32
-16
lines changed

MLAPI/MonoBehaviours/Core/NetworkingManager.cs

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -247,32 +247,47 @@ private ConnectionConfig Init()
247247
};
248248

249249
//MLAPI channels and messageTypes
250-
NetworkConfig.Channels.Add(new Channel()
250+
List<Channel> internalChannels = new List<Channel>();
251+
internalChannels.Add(new Channel()
251252
{
252253
Name = "MLAPI_INTERNAL",
253254
Type = QosType.ReliableFragmentedSequenced
254255
});
255-
NetworkConfig.Channels.Add(new Channel()
256+
internalChannels.Add(new Channel()
256257
{
257258
Name = "MLAPI_POSITION_UPDATE",
258259
Type = QosType.StateUpdate
259260
});
260-
NetworkConfig.Channels.Add(new Channel()
261+
internalChannels.Add(new Channel()
261262
{
262263
Name = "MLAPI_ANIMATION_UPDATE",
263264
Type = QosType.ReliableSequenced
264265
});
265-
NetworkConfig.Channels.Add(new Channel()
266+
internalChannels.Add(new Channel()
266267
{
267268
Name = "MLAPI_NAV_AGENT_STATE",
268269
Type = QosType.ReliableSequenced
269270
});
270-
NetworkConfig.Channels.Add(new Channel()
271+
internalChannels.Add(new Channel()
271272
{
272273
Name = "MLAPI_NAV_AGENT_CORRECTION",
273274
Type = QosType.StateUpdate
274275
});
275276

277+
HashSet<string> channelNames = new HashSet<string>();
278+
for (int i = 0; i < internalChannels.Count; i++)
279+
{
280+
if (channelNames.Contains(internalChannels[i].Name))
281+
{
282+
Debug.LogWarning("MLAPI: Duplicate channel name: " + NetworkConfig.Channels[i].Name);
283+
continue;
284+
}
285+
int channelId = cConfig.AddChannel(internalChannels[i].Type);
286+
MessageManager.channels.Add(internalChannels[i].Name, channelId);
287+
channelNames.Add(internalChannels[i].Name);
288+
MessageManager.reverseChannels.Add(channelId, internalChannels[i].Name);
289+
}
290+
276291
MessageManager.messageTypes.Add("MLAPI_CONNECTION_REQUEST", 0);
277292
MessageManager.messageTypes.Add("MLAPI_CONNECTION_APPROVED", 1);
278293
MessageManager.messageTypes.Add("MLAPI_ADD_OBJECT", 2);
@@ -283,13 +298,15 @@ private ConnectionConfig Init()
283298
MessageManager.messageTypes.Add("MLAPI_DESTROY_POOL_OBJECT", 7);
284299
MessageManager.messageTypes.Add("MLAPI_CHANGE_OWNER", 8);
285300
MessageManager.messageTypes.Add("MLAPI_SYNC_VAR_UPDATE", 9);
286-
NetworkConfig.MessageTypes.Add("MLAPI_OnRecieveTransformFromClient");
287-
NetworkConfig.MessageTypes.Add("MLAPI_OnRecieveTransformFromServer");
288-
NetworkConfig.MessageTypes.Add("MLAPI_HandleAnimationMessage");
289-
NetworkConfig.MessageTypes.Add("MLAPI_HandleAnimationParameterMessage");
290-
NetworkConfig.MessageTypes.Add("MLAPI_HandleAnimationTriggerMessage");
291-
NetworkConfig.MessageTypes.Add("MLAPI_OnNavMeshStateUpdate");
292-
NetworkConfig.MessageTypes.Add("MLAPI_OnNavMeshCorrectionUpdate");
301+
302+
List<string> messageTypes = new List<string>(NetworkConfig.MessageTypes);
303+
messageTypes.Add("MLAPI_OnRecieveTransformFromClient");
304+
messageTypes.Add("MLAPI_OnRecieveTransformFromServer");
305+
messageTypes.Add("MLAPI_HandleAnimationMessage");
306+
messageTypes.Add("MLAPI_HandleAnimationParameterMessage");
307+
messageTypes.Add("MLAPI_HandleAnimationTriggerMessage");
308+
messageTypes.Add("MLAPI_OnNavMeshStateUpdate");
309+
messageTypes.Add("MLAPI_OnNavMeshCorrectionUpdate");
293310

294311
if (NetworkConfig.EnableSceneSwitching)
295312
{
@@ -334,7 +351,6 @@ private ConnectionConfig Init()
334351
}
335352
}
336353

337-
HashSet<string> channelNames = new HashSet<string>();
338354
for (int i = 0; i < NetworkConfig.Channels.Count; i++)
339355
{
340356
if(channelNames.Contains(NetworkConfig.Channels[i].Name))
@@ -350,10 +366,10 @@ private ConnectionConfig Init()
350366

351367
//0-32 are reserved for MLAPI messages
352368
ushort messageId = 32;
353-
for (ushort i = 0; i < NetworkConfig.MessageTypes.Count; i++)
369+
for (ushort i = 0; i < messageTypes.Count; i++)
354370
{
355-
MessageManager.messageTypes.Add(NetworkConfig.MessageTypes[i], messageId);
356-
MessageManager.reverseMessageTypes.Add(messageId, NetworkConfig.MessageTypes[i]);
371+
MessageManager.messageTypes.Add(messageTypes[i], messageId);
372+
MessageManager.reverseMessageTypes.Add(messageId, messageTypes[i]);
357373
messageId++;
358374
}
359375
return cConfig;

0 commit comments

Comments
 (0)