public ICollection <MapPixel> GetAdjacentPixels(IThreeDimensionalCoordinate coordinate) { var adjacentPixels = new List <MapPixel>(); AddAdjacentPixelsOnX(adjacentPixels, coordinate); AddAdjacentPixelsOnY(adjacentPixels, coordinate); return(adjacentPixels); }
private void AddAdjacentPixelsOnX(ICollection <MapPixel> adjacentPixels, IThreeDimensionalCoordinate coordinate) { var currentCoordinate = new MapCoordinate(coordinate.GetX(), coordinate.GetY()); for (var xOff = -1; xOff <= 1; xOff += 2) { currentCoordinate.SetX(coordinate.GetX() + xOff); if (CoordinateIsInBounds(coordinate)) { adjacentPixels.Add(_map[currentCoordinate.GetX(), currentCoordinate.GetY()]); } } }
public void SetPixelAt(IThreeDimensionalCoordinate coordinate, MapPixel value) { _map[coordinate.GetX(), coordinate.GetY()] = value; }
public MapPixel GetPixelAt(IThreeDimensionalCoordinate coordinate) { return(_map[coordinate.GetX(), coordinate.GetY()]); }