Change FilterTerms to use LocalisableString

This commit is contained in:
Dan Balasescu
2022-05-16 14:09:37 +09:00
parent 328561f5c8
commit a633501687
18 changed files with 35 additions and 26 deletions

View File

@ -80,7 +80,10 @@ namespace osu.Game.Screens.OnlinePlay.Lounge.Components
matchingFilter &= criteria.Ruleset == null || r.Room.PlaylistItemStats.Value?.RulesetIDs.Any(id => id == criteria.Ruleset.OnlineID) != false;
if (!string.IsNullOrEmpty(criteria.SearchString))
matchingFilter &= r.FilterTerms.Any(term => term.Contains(criteria.SearchString, StringComparison.InvariantCultureIgnoreCase));
{
// Room name isn't translatable, so ToString() is used here for simplicity.
matchingFilter &= r.FilterTerms.Any(term => term.ToString().Contains(criteria.SearchString, StringComparison.InvariantCultureIgnoreCase));
}
r.MatchingFilter = matchingFilter;
}

View File

@ -14,6 +14,7 @@ using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.Bindings;
using osu.Framework.Input.Events;
using osu.Framework.Localisation;
using osu.Game.Extensions;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
@ -101,7 +102,7 @@ namespace osu.Game.Screens.OnlinePlay.Lounge
public bool FilteringActive { get; set; }
public IEnumerable<string> FilterTerms => new[] { Room.Name.Value };
public IEnumerable<LocalisableString> FilterTerms => new LocalisableString[] { Room.Name.Value };
private bool matchingFilter = true;