public Hex NeighbourAt(Hex a, AxialDirections direction) { var delta = Directions[direction]; var row = a.Row + delta.Item1; var column = a.Column + delta.Item2; if (row >= 0 && row < Size && column >= 0 && column < Size) { return(Grid[row, column]); } return(null); }
public static Tuple <int, int> GetDeltaFor(AxialDirections direction) { return(Directions[direction]); }
private static Tuple <int, int> GetCoordinatesFor(Tuple <int, int> coordinates, AxialDirections direction) { var newCoordinates = new Tuple <int, int>(coordinates.Item1 + Directions[direction].Item1, coordinates.Item2 + Directions[direction].Item2); return(Directions[direction]); }