public void SendMessageToIds(IEnumerable <long> uniqueIds, INetworkMessageOut message, MessageDeliveryMethod deliveryMethod, int channel) { if (_netPeer == null) { throw new NullReferenceException("NetPeer was not initialized."); } message.Encrypt(); var connections = new List <NetConnection>(4); foreach (var uniqueId in uniqueIds) { for (int i = 0; i < _netPeer.Connections.Count; i++) { var connection = _netPeer.Connections[i]; if (connection.RemoteUniqueIdentifier == uniqueId) { connections.Add(connection); break; } } } var outMessage = ((NetworkMessageOutLidgren)message).GetInternalMessage(); try { _netPeer.SendMessage(outMessage, connections, deliveryMethod.ToDeliveryMethod(), channel); } catch { // todo: throw? } }
public void SendMessageToAll(INetworkMessageOut message, MessageDeliveryMethod deliveryMethod, int channel) { if (_netPeer == null) { throw new NullReferenceException("NetPeer was not initialized."); } message.Encrypt(); var outMessage = ((NetworkMessageOutLidgren)message).GetInternalMessage(); _netPeer.SendMessage(outMessage, _netPeer.Connections, deliveryMethod.ToDeliveryMethod(), channel); }
public void SendMessageToId(long uniqueId, INetworkMessageOut message, MessageDeliveryMethod deliveryMethod, int channel) { if (_netPeer == null) { throw new NullReferenceException("NetPeer was not initialized."); } message.Encrypt(); var outMessage = ((NetworkMessageOutLidgren)message).GetInternalMessage(); for (int i = 0; i < _netPeer.Connections.Count; i++) { var connection = _netPeer.Connections[i]; if (connection.RemoteUniqueIdentifier == uniqueId) { _netPeer.SendMessage(outMessage, connection, deliveryMethod.ToDeliveryMethod(), channel); break; } } }