@@ -43,19 +43,35 @@ internal void InvokeUnnamedMessage(ulong clientId, FastBufferReader reader)
43
43
m_NetworkManager . NetworkMetrics . TrackUnnamedMessageReceived ( clientId , reader . Length ) ;
44
44
}
45
45
46
+ /// <summary>
47
+ /// Sends unnamed message to all clients
48
+ /// </summary>
49
+ /// <param name="messageBuffer">The message stream containing the data</param>
50
+ /// <param name="networkDelivery">The delivery type (QoS) to send data with</param>
51
+ public void SendUnnamedMessageToAll ( FastBufferWriter messageBuffer , NetworkDelivery networkDelivery = NetworkDelivery . ReliableSequenced )
52
+ {
53
+ SendUnnamedMessage ( m_NetworkManager . ConnectedClientsIds , messageBuffer , networkDelivery ) ;
54
+ }
55
+
56
+
46
57
/// <summary>
47
58
/// Sends unnamed message to a list of clients
48
59
/// </summary>
49
60
/// <param name="clientIds">The clients to send to, sends to everyone if null</param>
50
61
/// <param name="messageBuffer">The message stream containing the data</param>
51
62
/// <param name="networkDelivery">The delivery type (QoS) to send data with</param>
52
- public void SendUnnamedMessage ( List < ulong > clientIds , FastBufferWriter messageBuffer , NetworkDelivery networkDelivery = NetworkDelivery . ReliableSequenced )
63
+ public void SendUnnamedMessage ( IReadOnlyList < ulong > clientIds , FastBufferWriter messageBuffer , NetworkDelivery networkDelivery = NetworkDelivery . ReliableSequenced )
53
64
{
54
65
if ( ! m_NetworkManager . IsServer )
55
66
{
56
67
throw new InvalidOperationException ( "Can not send unnamed messages to multiple users as a client" ) ;
57
68
}
58
69
70
+ if ( clientIds == null )
71
+ {
72
+ throw new ArgumentNullException ( "You must pass in a valid clientId List" ) ;
73
+ }
74
+
59
75
var message = new UnnamedMessage
60
76
{
61
77
Data = messageBuffer
@@ -175,6 +191,16 @@ public void UnregisterNamedMessageHandler(string name)
175
191
m_MessageHandlerNameLookup64 . Remove ( hash64 ) ;
176
192
}
177
193
194
+ /// <summary>
195
+ /// Sends a named message to all clients
196
+ /// </summary>
197
+ /// <param name="messageStream">The message stream containing the data</param>
198
+ /// <param name="networkDelivery">The delivery type (QoS) to send data with</param>
199
+ public void SendNamedMessageToAll ( string messageName , FastBufferWriter messageStream , NetworkDelivery networkDelivery = NetworkDelivery . ReliableSequenced )
200
+ {
201
+ SendNamedMessage ( messageName , m_NetworkManager . ConnectedClientsIds , messageStream , networkDelivery ) ;
202
+ }
203
+
178
204
/// <summary>
179
205
/// Sends a named message
180
206
/// </summary>
@@ -216,13 +242,18 @@ public void SendNamedMessage(string messageName, ulong clientId, FastBufferWrite
216
242
/// <param name="clientIds">The clients to send to, sends to everyone if null</param>
217
243
/// <param name="messageStream">The message stream containing the data</param>
218
244
/// <param name="networkDelivery">The delivery type (QoS) to send data with</param>
219
- public void SendNamedMessage ( string messageName , List < ulong > clientIds , FastBufferWriter messageStream , NetworkDelivery networkDelivery = NetworkDelivery . ReliableSequenced )
245
+ public void SendNamedMessage ( string messageName , IReadOnlyList < ulong > clientIds , FastBufferWriter messageStream , NetworkDelivery networkDelivery = NetworkDelivery . ReliableSequenced )
220
246
{
221
247
if ( ! m_NetworkManager . IsServer )
222
248
{
223
249
throw new InvalidOperationException ( "Can not send unnamed messages to multiple users as a client" ) ;
224
250
}
225
251
252
+ if ( clientIds == null )
253
+ {
254
+ throw new ArgumentNullException ( "You must pass in a valid clientId List" ) ;
255
+ }
256
+
226
257
ulong hash = 0 ;
227
258
switch ( m_NetworkManager . NetworkConfig . RpcHashSize )
228
259
{
0 commit comments