mirror of
https://github.com/ppy/osu.git
synced 2026-05-19 12:00:05 +08:00
Fix artist/title keyword filters not working properly with not-equals operator
Closes https://github.com/ppy/osu/issues/35264.
This commit is contained in:
@@ -77,10 +77,23 @@ namespace osu.Game.Screens.Select.Carousel
|
||||
if (!match) return false;
|
||||
|
||||
match &= !criteria.Creator.HasFilter || criteria.Creator.Matches(BeatmapInfo.Metadata.Author.Username);
|
||||
match &= !criteria.Artist.HasFilter || criteria.Artist.Matches(BeatmapInfo.Metadata.Artist) ||
|
||||
criteria.Artist.Matches(BeatmapInfo.Metadata.ArtistUnicode);
|
||||
match &= !criteria.Title.HasFilter || criteria.Title.Matches(BeatmapInfo.Metadata.Title) ||
|
||||
criteria.Title.Matches(BeatmapInfo.Metadata.TitleUnicode);
|
||||
|
||||
if (criteria.Artist.HasFilter)
|
||||
{
|
||||
if (criteria.Artist.ExcludeTerm)
|
||||
match &= criteria.Artist.Matches(BeatmapInfo.Metadata.Artist) && criteria.Artist.Matches(BeatmapInfo.Metadata.ArtistUnicode);
|
||||
else
|
||||
match &= criteria.Artist.Matches(BeatmapInfo.Metadata.Artist) || criteria.Artist.Matches(BeatmapInfo.Metadata.ArtistUnicode);
|
||||
}
|
||||
|
||||
if (criteria.Title.HasFilter)
|
||||
{
|
||||
if (criteria.Title.ExcludeTerm)
|
||||
match &= criteria.Title.Matches(BeatmapInfo.Metadata.Title) && criteria.Title.Matches(BeatmapInfo.Metadata.TitleUnicode);
|
||||
else
|
||||
match &= criteria.Title.Matches(BeatmapInfo.Metadata.Title) || criteria.Title.Matches(BeatmapInfo.Metadata.TitleUnicode);
|
||||
}
|
||||
|
||||
match &= !criteria.DifficultyName.HasFilter || criteria.DifficultyName.Matches(BeatmapInfo.DifficultyName);
|
||||
match &= !criteria.Source.HasFilter || criteria.Source.Matches(BeatmapInfo.Metadata.Source);
|
||||
|
||||
|
||||
@@ -96,10 +96,23 @@ namespace osu.Game.Screens.SelectV2
|
||||
if (!match) return false;
|
||||
|
||||
match &= !criteria.Creator.HasFilter || criteria.Creator.Matches(beatmap.Metadata.Author.Username);
|
||||
match &= !criteria.Artist.HasFilter || criteria.Artist.Matches(beatmap.Metadata.Artist) ||
|
||||
criteria.Artist.Matches(beatmap.Metadata.ArtistUnicode);
|
||||
match &= !criteria.Title.HasFilter || criteria.Title.Matches(beatmap.Metadata.Title) ||
|
||||
criteria.Title.Matches(beatmap.Metadata.TitleUnicode);
|
||||
|
||||
if (criteria.Artist.HasFilter)
|
||||
{
|
||||
if (criteria.Artist.ExcludeTerm)
|
||||
match &= criteria.Artist.Matches(beatmap.Metadata.Artist) && criteria.Artist.Matches(beatmap.Metadata.ArtistUnicode);
|
||||
else
|
||||
match &= criteria.Artist.Matches(beatmap.Metadata.Artist) || criteria.Artist.Matches(beatmap.Metadata.ArtistUnicode);
|
||||
}
|
||||
|
||||
if (criteria.Title.HasFilter)
|
||||
{
|
||||
if (criteria.Title.ExcludeTerm)
|
||||
match &= criteria.Title.Matches(beatmap.Metadata.Title) && criteria.Title.Matches(beatmap.Metadata.TitleUnicode);
|
||||
else
|
||||
match &= criteria.Title.Matches(beatmap.Metadata.Title) || criteria.Title.Matches(beatmap.Metadata.TitleUnicode);
|
||||
}
|
||||
|
||||
match &= !criteria.DifficultyName.HasFilter || criteria.DifficultyName.Matches(beatmap.DifficultyName);
|
||||
match &= !criteria.Source.HasFilter || criteria.Source.Matches(beatmap.Metadata.Source);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user