public void HandleTileVisibilityChanged(IntVector2 tileCoords, TileVisibilityType tileVisibilityType)
        {
            Color32 selectedColor;

            if (tileVisibilityType == TileVisibilityType.NotVisited)
            {
                selectedColor = fogVertexColor;
            }
            else if (tileVisibilityType == TileVisibilityType.VisitedNotInSight)
            {
                selectedColor = outOfViewVertexColor;
            }
            else
            {
                selectedColor = inViewVertexColor;
            }

            // add 1 to map size to account for N+1 vertices in the tiles
            int tileVertexIndex = tileCoords.y * ((int)_grid.NumTilesX + 1) +
                                  tileCoords.x;

            // Assign the color
            _colors[tileVertexIndex]     = selectedColor;
            _colors[tileVertexIndex + 1] = selectedColor;
            _colors[tileVertexIndex + _grid.NumTilesX + 1] = selectedColor;
            _colors[tileVertexIndex + _grid.NumTilesX + 2] = selectedColor;

            // Mark pending color updates
            _pendingColorUpdates = true;
        }
 public TileVisibilityData()
 {
     tileVisibilityType = TileVisibilityType.NotVisited;
 }