public TileData this[int x, int y] { get { int relativeX = x - OffsetX; int relativeY = y - OffsetY; if (relativeX < 0 || relativeX >= Width || relativeY < 0 || relativeY >= Height ) return null; return Tiles[relativeX * Height + relativeY]; } }