Skip to content

Commit 5df0f15

Browse files
committed
Added Register and Deregister MessageHandler to NetworkingManager
1 parent 418e32a commit 5df0f15

File tree

3 files changed

+30
-4
lines changed

3 files changed

+30
-4
lines changed

MLAPI/MonoBehaviours/Core/NetworkedBehaviour.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ protected int RegisterMessageHandler(string name, Action<uint, BitReader> action
353353
}
354354

355355
networkedObject.targetMessageActions[behaviourOrder].Add(messageType, action);
356-
int counter = MessageManager.AddIncomingMessageHandler(name, action, networkId);
356+
int counter = MessageManager.AddIncomingMessageHandler(name, action);
357357
registeredMessageHandlers.Add(name, counter);
358358
return counter;
359359
}
@@ -389,7 +389,7 @@ protected int RegisterMessageHandler(string name, Action<uint, byte[]> action)
389389
};
390390

391391
networkedObject.targetMessageActions[behaviourOrder].Add(messageType, convertedAction);
392-
int counter = MessageManager.AddIncomingMessageHandler(name, convertedAction, networkId);
392+
int counter = MessageManager.AddIncomingMessageHandler(name, convertedAction);
393393
registeredMessageHandlers.Add(name, counter);
394394
return counter;
395395
}

MLAPI/MonoBehaviours/Core/NetworkingManager.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1221,6 +1221,32 @@ internal void HandleApproval(uint clientId, bool approved, Vector3 position, Qua
12211221
}
12221222
}
12231223
#region SEND METHODS
1224+
/// <summary>
1225+
/// Registers a message handler
1226+
/// </summary>
1227+
/// <param name="name">The MessageType to register</param>
1228+
/// <param name="action">The callback to get invoked whenever a message is received</param>
1229+
/// <returns>HandlerId for the messageHandler that can be used to deregister the messageHandler</returns>
1230+
public int RegisterMessageHandler(string name, Action<uint, BitReader> action)
1231+
{
1232+
if (!MessageManager.messageTypes.ContainsKey(name))
1233+
{
1234+
if (LogHelper.CurrentLogLevel <= LogLevel.Normal) LogHelper.LogWarning("The messageType " + name + " is not registered");
1235+
return -1;
1236+
}
1237+
return MessageManager.AddIncomingMessageHandler(name, action);
1238+
}
1239+
1240+
/// <summary>
1241+
/// Deregisters a given message handler
1242+
/// </summary>
1243+
/// <param name="name">The MessageType to deregister</param>
1244+
/// <param name="counter">The messageHandlerId to deregister</param>
1245+
public void DeregisterMessageHandler(string name, int counter)
1246+
{
1247+
MessageManager.RemoveIncomingMessageHandler(name, counter);
1248+
}
1249+
12241250
/// <summary>
12251251
/// Sends a buffer to the server from client
12261252
/// </summary>

MLAPI/NetworkingManagerComponents/Core/MessageManager.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ private static NetworkingManager netManager
2525
}
2626

2727

28-
internal static int AddIncomingMessageHandler(string name, Action<uint, BitReader> action, uint networkId)
28+
internal static int AddIncomingMessageHandler(string name, Action<uint, BitReader> action)
2929
{
3030
if (messageTypes.ContainsKey(name))
3131
{
@@ -69,7 +69,7 @@ internal static int AddIncomingMessageHandler(string name, Action<uint, BitReade
6969
}
7070
}
7171

72-
internal static void RemoveIncomingMessageHandler(string name, int counter, uint networkId)
72+
internal static void RemoveIncomingMessageHandler(string name, int counter)
7373
{
7474
if (counter == -1)
7575
return;

0 commit comments

Comments
 (0)