@@ -43,19 +43,35 @@ internal void InvokeUnnamedMessage(ulong clientId, FastBufferReader reader)
4343 m_NetworkManager . NetworkMetrics . TrackUnnamedMessageReceived ( clientId , reader . Length ) ;
4444 }
4545
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+
4657 /// <summary>
4758 /// Sends unnamed message to a list of clients
4859 /// </summary>
4960 /// <param name="clientIds">The clients to send to, sends to everyone if null</param>
5061 /// <param name="messageBuffer">The message stream containing the data</param>
5162 /// <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 )
5364 {
5465 if ( ! m_NetworkManager . IsServer )
5566 {
5667 throw new InvalidOperationException ( "Can not send unnamed messages to multiple users as a client" ) ;
5768 }
5869
70+ if ( clientIds == null )
71+ {
72+ throw new ArgumentNullException ( "You must pass in a valid clientId List" ) ;
73+ }
74+
5975 var message = new UnnamedMessage
6076 {
6177 Data = messageBuffer
@@ -175,6 +191,16 @@ public void UnregisterNamedMessageHandler(string name)
175191 m_MessageHandlerNameLookup64 . Remove ( hash64 ) ;
176192 }
177193
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+
178204 /// <summary>
179205 /// Sends a named message
180206 /// </summary>
@@ -216,13 +242,18 @@ public void SendNamedMessage(string messageName, ulong clientId, FastBufferWrite
216242 /// <param name="clientIds">The clients to send to, sends to everyone if null</param>
217243 /// <param name="messageStream">The message stream containing the data</param>
218244 /// <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 )
220246 {
221247 if ( ! m_NetworkManager . IsServer )
222248 {
223249 throw new InvalidOperationException ( "Can not send unnamed messages to multiple users as a client" ) ;
224250 }
225251
252+ if ( clientIds == null )
253+ {
254+ throw new ArgumentNullException ( "You must pass in a valid clientId List" ) ;
255+ }
256+
226257 ulong hash = 0 ;
227258 switch ( m_NetworkManager . NetworkConfig . RpcHashSize )
228259 {
0 commit comments