1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-23 02:57:25 +08:00

add an all option to publicity filter

This commit is contained in:
Gabe Livengood 2022-06-23 11:24:28 -04:00
parent 2def6d809b
commit 9a15adbfff
No known key found for this signature in database
GPG Key ID: 70321B78DAECE683
3 changed files with 6 additions and 1 deletions

View File

@ -166,6 +166,10 @@ namespace osu.Game.Tests.Visual.Multiplayer
RoomManager.AddRooms(1, withPassword: false);
});
AddStep("apply default filter", () => container.Filter.SetDefault());
AddUntilStep("both rooms visible", () => container.Rooms.Count(r => r.IsPresent) == 2);
AddStep("filter public rooms", () => container.Filter.Value = new FilterCriteria { Publicity = RoomPublicityFilter.Public });
AddUntilStep("private room hidden", () => container.Rooms.All(r => !r.Room.HasPassword.Value));

View File

@ -7,6 +7,7 @@ namespace osu.Game.Screens.OnlinePlay.Lounge.Components
{
public enum RoomPublicityFilter
{
All,
Public,
Private
}

View File

@ -87,7 +87,7 @@ namespace osu.Game.Screens.OnlinePlay.Lounge.Components
matchingFilter &= r.FilterTerms.Any(term => term.ToString().Contains(criteria.SearchString, StringComparison.InvariantCultureIgnoreCase));
}
matchingFilter &= (criteria.Publicity == RoomPublicityFilter.Public && !r.Room.HasPassword.Value) || (criteria.Publicity == RoomPublicityFilter.Private && r.Room.HasPassword.Value);
matchingFilter &= criteria.Publicity == RoomPublicityFilter.All || (criteria.Publicity == RoomPublicityFilter.Public && !r.Room.HasPassword.Value) || (criteria.Publicity == RoomPublicityFilter.Private && r.Room.HasPassword.Value);
r.MatchingFilter = matchingFilter;
}