public bool TryGetValue(int x, int y, GridCellNeighbour n, out Type result) { switch (n) { case GridCellNeighbour.TOPLEFT: return(TryGetValue(x - 1, y - 1, out result)); case GridCellNeighbour.TOP: return(TryGetValue(x, y - 1, out result)); case GridCellNeighbour.TOPRIGHT: return(TryGetValue(x + 1, y - 1, out result)); case GridCellNeighbour.LEFT: return(TryGetValue(x - 1, y, out result)); case GridCellNeighbour.RIGHT: return(TryGetValue(x + 1, y, out result)); case GridCellNeighbour.BOTLEFT: return(TryGetValue(x - 1, y + 1, out result)); case GridCellNeighbour.BOT: return(TryGetValue(x, y + 1, out result)); case GridCellNeighbour.BOTRIGHT: return(TryGetValue(x + 1, y + 1, out result)); } result = nullValue; return(false); }
public GridPair(GridCellNeighbour type, DataType value) { Type = type; Value = value; }