private Tuple <Position, Position> GetDirections(Line.Direction direction) { // TG: consider simplifying it to array and then use direction as an index in the array. if (direction == Line.Direction.Horizontal) { return(new Tuple <Position, Position>(new Position(0, -1), new Position(0, 1))); } if (direction == Line.Direction.Vertical) { return(new Tuple <Position, Position>(new Position(-1, 0), new Position(1, 0))); } if (direction == Line.Direction.Descending) { return(new Tuple <Position, Position>(new Position(-1, -1), new Position(1, 1))); } if (direction == Line.Direction.Ascending) { return(new Tuple <Position, Position>(new Position(1, -1), new Position(-1, 1))); } return(null); }
private Line GetLine(Position position, Line.Direction directions) { var line = GetLine(position, GetDirections(directions)); return(line); }