public override CommandResponseDto Execute(Player player, IGame game) { var visibleBlobs = new HashSet <Blob>(); player.WaitForTick(); foreach (var playerBlob in player.Blobs) { var radius = playerBlob.Radius * game.Settings.VisibilityFactor; _physics.ForBlobsInRange(playerBlob.Position, radius, blob => visibleBlobs.Add(blob)); } var playerViewDto = new GetViewResponseDto { Blobs = Mapper.Map <BlobDto[]>(visibleBlobs) }; return(playerViewDto); }
public override CommandResponseDto Execute(Player player, IGame game) { var visibleBlobs = new HashSet<Blob>(); player.WaitForTick(); foreach (var playerBlob in player.Blobs) { var radius = playerBlob.Radius * game.Settings.VisibilityFactor; _physics.ForBlobsInRange(playerBlob.Position, radius, blob => visibleBlobs.Add(blob)); } var playerViewDto = new GetViewResponseDto { Blobs = Mapper.Map<BlobDto[]>(visibleBlobs) }; return playerViewDto; }