Add simple SendMessage with single target

This commit is contained in:
Damian Korczowski
2021-04-16 22:08:59 +02:00
parent ed82787093
commit e7f899309c
5 changed files with 28 additions and 2 deletions

View File

@@ -205,13 +205,24 @@ void ENetDriver::SendMessage(const NetworkChannelType channelType, const Network
SendPacketToPeer((ENetPeer*)_peer, channelType, message);
}
void ENetDriver::SendMessage(NetworkChannelType channelType, const NetworkMessage& message, NetworkConnection target)
{
ASSERT(IsServer());
ENetPeer* peer = *(ENetPeer**)_peerMap.TryGet(target.ConnectionId);
ASSERT(peer != nullptr);
ASSERT(peer->state == ENET_PEER_STATE_CONNECTED);
SendPacketToPeer(peer, channelType, message);
}
void ENetDriver::SendMessage(const NetworkChannelType channelType, const NetworkMessage& message, Array<NetworkConnection, HeapAllocation> targets)
{
ASSERT(IsServer());
for(NetworkConnection connection : targets)
for(NetworkConnection target : targets)
{
ENetPeer* peer = *(ENetPeer**)_peerMap.TryGet(connection.ConnectionId);
ENetPeer* peer = *(ENetPeer**)_peerMap.TryGet(target.ConnectionId);
ASSERT(peer != nullptr);
ASSERT(peer->state == ENET_PEER_STATE_CONNECTED);