// Note: Technically, all the clients need is a list of entities IDs // and they could be passed within a single packet which would save bandwidth. // But this works too and is simpler. // TODO: Develop TCP networking capability, as UDP is not reliable enough in // this case. (For now, let's just send the packets 5X) private static void RemoveEntities(object sender, EntitiesRemovedEventAgs e) { List <Entity> entitiesToRemove = e.EntitiesRemoved; for (int i = 0; i < 5; i++) { foreach (Entity entity in entitiesToRemove) { EntityPacket packet = new EntityPacket(entity); ConnectionManager.SendToAllGamers(packet); } } }
// Note: Technically, all the clients need is a list of entities IDs // and they could be passed within a single packet which would save bandwidth. // But this works too and is simpler. // TODO: Develop TCP networking capability, as UDP is not reliable enough in // this case. (For now, let's just send the packets 5X) private async void RemoveEntities(object sender, EntitiesRemovedEventAgs e) { List <Entity> entitiesToRemove = e.EntitiesRemoved; for (int i = 0; i < 5; i++) { foreach (Entity entity in entitiesToRemove) { EntityPacket packet = new EntityPacket(entity); await _connectionManager.SendPacketToAllClients(packet); } } }
private async void EntitiesRemoved(object sender, EntitiesRemovedEventAgs e) { DeadEntitiesPacket packet = new Network.DeadEntitiesPacket(e.EntitiesRemoved); await SendUDPPacketToAllPlayers(packet); }