void RemapTilingToPrefabs()
    {
        ITileSet       newTileSet = tileSetBuilder.UnityTileSet;
        TilingRemapper remapper   = new TilingRemapper(tiling, newTileSet);

        foreach (var tile in newTileSet)
        {
            for (int i = 0; i < 16; i++)
            {
                remapper.AddMapping(i, tile.ID);
            }
        }
        ITiling2D newTiling = remapper.Remap(new RandomTilingEnumerator());

        tiling = newTiling;
    }
    //private void CreateTileSet()
    //{
    //    //tileSet = new SimpleTestTileSet();
    //    tileSet = new AbstractMazeTileSet();
    //    tileSet = TileDatabase.Instance.GetTileSet("Abstract Maze");
    //}
    private void CreateRandomTiling()
    {
        ITilingBuilder tilingBuilder;

        //tilingBuilder = new RandomTilingBuilder(width, height);
        tilingBuilder = new MatchingTilingBuilder(width, height);
        //SequentialTileSelector tileSelector = new SequentialTileSelector(tileSet);
        RandomTileSelector tileSelector = new RandomTileSelector();

        tileSelector.DefaultTile = tileSetBuilder.DefaultTile;
        ITilingEnumerator tilingEnumerator;

        tilingEnumerator = new RandomTilingEnumerator();
        //tilingEnumerator = new SequentialTilingEnumerator();
        //tilingEnumerator = new SequentialTilingEnumerator(width, height);
        tilingBuilder.TileSelector = tileSelector;

        tilingBuilder.TilingEnumerator = tilingEnumerator;

        tilingBuilder.UpdateTiling(tileSetBuilder.UnityTileSet);
        tiling = tilingBuilder.GetTiling();
    }