public void CollapseMeshes(GameObject tile)
    {
        if (!collapsedInstances.ContainsKey(tile.name))
        {
            var combined = TileCombinedMeshProvider.GetCombinedMeshes(tile.transform);
            combined.combinedMesh.name = $"{tile.name}_Mesh";
            collapsedInstances.Add(tile.name, combined);
        }

        DestroyMeshRenderers(tile);
        ApplyCollapsed(tile);

        renderComponentsCache.Clear();
        filterComponentsCache.Clear();
    }
    public void CollapseMeshes()
    {
        for (var i = 0; i < transform.childCount; i++)
        {
            var child = transform.GetChild(i);

            if (!collapsedInstances.ContainsKey(child.name))
            {
                var combined = TileCombinedMeshProvider.GetCombinedMeshes(child);
                combined.combinedMesh.name = $"{child.name}_Mesh";
                collapsedInstances.Add(child.name, combined);
            }

            DestroyMeshRenderers(child);
            ApplyCollapsed(child);
        }
    }