private bool IsConstructionsOnLine(Point zeroPosition, Direction requestedDirection, Region area) { var testPosition = new Point(zeroPosition.X, zeroPosition.Y); var iterator = MapUtility.IterationMap[requestedDirection]; while (!_client.IsOutOf(testPosition) && testPosition.IsOutOf(area)) { testPosition = iterator(testPosition); if (_client.IsConstructionAt(testPosition)) { return(true); } } return(false); }