/// <summary> /// Sort and store a list of already filtered songs. Sorting is optional. /// </summary> /// <param name="filteredLevels">Levels that have already been filtered</param> /// <param name="sortSongs">Sort the songs before storing.</param> public void SetupFromPrefilteredLevels(IPreviewBeatmapLevel[] filteredLevels, Sprite coverImage = null, bool sortSongs = true) { this.coverImage = coverImage != null ? coverImage : UIUtilities.DefaultCoverImage; if (sortSongs) { filteredLevels = SongSortModule.SortSongs(filteredLevels); } _beatmapLevelCollection.SetPrivateField("_levels", filteredLevels, typeof(BeatmapLevelCollection)); }
/// <summary> /// Sort and store a list of already filtered songs. Sorting is optional. /// </summary> /// <param name="filteredLevels">Levels that have already been filtered</param> /// <param name="sortSongs">Sort the songs before storing.</param> public void SetupFromPrefilteredLevels(IPreviewBeatmapLevel[] filteredLevels, bool sortSongs = true) { if (coverImage == null) { coverImage = UIUtilities.DefaultCoverImage; } if (sortSongs) { filteredLevels = SongSortModule.SortSongs(filteredLevels); } _beatmapLevelCollection.SetPrivateField("_levels", filteredLevels, typeof(BeatmapLevelCollection)); }
/// <summary> /// Applies filter settings and then filters, sorts, and stores the resulting levels from the provided level collection. /// </summary> /// <param name="levels">Levels to filter and sort.</param> /// <param name="applyStagedSettings">Apply the staged filter settings before using the filter.</param> /// <returns>True if at least one filter has been applied, otherwise false.</returns> public bool SetupFromUnfilteredLevels(IPreviewBeatmapLevel[] levels, Sprite coverImage = null, bool applyStagedSettings = true) { this.coverImage = coverImage != null ? coverImage : UIUtilities.DefaultCoverImage; if (FilterList.ApplyFilter(levels, out var filteredLevels, applyStagedSettings)) { IPreviewBeatmapLevel[] filteredAndSortedLevels = SongSortModule.SortSongs(filteredLevels); _beatmapLevelCollection.SetPrivateField("_levels", filteredAndSortedLevels, typeof(BeatmapLevelCollection)); return(true); } return(false); }