diff --git a/osu.Game/Overlays/Mods/ModSelectOverlay.cs b/osu.Game/Overlays/Mods/ModSelectOverlay.cs
index d2af305d68..cb8eddca62 100644
--- a/osu.Game/Overlays/Mods/ModSelectOverlay.cs
+++ b/osu.Game/Overlays/Mods/ModSelectOverlay.cs
@@ -64,6 +64,21 @@ namespace osu.Game.Overlays.Mods
}
}
+ ///
+ /// Search term applied on mod overlay
+ ///
+ public string SearchTerm
+ {
+ get => searchTextBox.Current.Value;
+ set
+ {
+ if (searchTextBox.Current.Value == value)
+ return;
+
+ searchTextBox.Current.Value = value;
+ }
+ }
+
///
/// Whether the total score multiplier calculated from the current selected set of mods should be shown.
///
@@ -494,7 +509,7 @@ namespace osu.Game.Overlays.Mods
{
var column = columnFlow[i].Column;
- bool allFiltered = column is ModColumn modColumn && modColumn.AvailableMods.All(modState => !modState.MatchingFilter.Value);
+ bool allFiltered = column is ModColumn modColumn && modColumn.AvailableMods.All(modState => !modState.IsValid);
double delay = allFiltered ? 0 : nonFilteredColumnCount * 30;
double duration = allFiltered ? 0 : fade_in_duration;
@@ -556,7 +571,7 @@ namespace osu.Game.Overlays.Mods
if (column is ModColumn modColumn)
{
- allFiltered = modColumn.AvailableMods.All(modState => !modState.MatchingFilter.Value);
+ allFiltered = modColumn.AvailableMods.All(modState => !modState.IsValid);
modColumn.FlushPendingSelections();
}