diff --git a/source/SongCore/Loader.cs b/source/SongCore/Loader.cs index dc1bde2..813c7f0 100644 --- a/source/SongCore/Loader.cs +++ b/source/SongCore/Loader.cs @@ -455,13 +455,19 @@ void AddOfficialBeatmapLevelsRepository(BeatmapLevelsRepository levelsRepository .Where(d => d.Exists && !d.Attributes.HasFlag(FileAttributes.Hidden)) .Select(d => d.FullName))) .ToHashSet(); + List folderPathsToRemove = []; foreach (var loadedSaveData in _customLevelLoader._loadedBeatmapSaveData.Values) { if (!folders.Contains(loadedSaveData.customLevelFolderInfo.folderPath)) { - DeleteSingleSong(loadedSaveData.customLevelFolderInfo.folderPath, false); + folderPathsToRemove.Add(loadedSaveData.customLevelFolderInfo.folderPath); } } + + foreach (string? folderPath in folderPathsToRemove) + { + DeleteSingleSong(folderPath, false); + } } Parallel.ForEach(songFolders, parallelOptions, folder => diff --git a/source/SongCore/SongCore.csproj b/source/SongCore/SongCore.csproj index 88ea0d7..ef1ded0 100644 --- a/source/SongCore/SongCore.csproj +++ b/source/SongCore/SongCore.csproj @@ -32,6 +32,10 @@ $(BeatSaberDir)\Libs\0Harmony.dll false + + $(BeatSaberDir)\Beat Saber_Data\Managed\AdditionalContentModel.Interfaces.dll + false +