private IEnumerable <IWorld2DTile2D> TilesInRange(Circle2D circle) { for (var x = -circle.Radius; x < circle.Radius; x++) { for (var y = -circle.Radius; y < circle.Radius * 2; y++) { var point = circle.Origin + new Point2D(x, y); if (circle.ContainsPoint(point)) { yield return(new World2DTile2D(this[point], point, this)); } } } }