mirror of
https://github.com/ppy/osu
synced 2025-03-19 09:34:49 +00:00
Fix filtering breaking on secondary filters
This commit is contained in:
parent
f0b7b2e1c4
commit
1b4bcb81c8
@ -74,7 +74,9 @@ namespace osu.Game.Screens.Multi.Lounge.Components
|
||||
set
|
||||
{
|
||||
matchingFilter = value;
|
||||
this.FadeTo(MatchingFilter ? 1 : 0, 200);
|
||||
|
||||
if (IsLoaded)
|
||||
this.FadeTo(MatchingFilter ? 1 : 0, 200);
|
||||
}
|
||||
}
|
||||
|
||||
@ -203,7 +205,11 @@ namespace osu.Game.Screens.Multi.Lounge.Components
|
||||
protected override void LoadComplete()
|
||||
{
|
||||
base.LoadComplete();
|
||||
this.FadeInFromZero(transition_duration);
|
||||
|
||||
if (matchingFilter)
|
||||
this.FadeInFromZero(transition_duration);
|
||||
else
|
||||
Alpha = 0;
|
||||
}
|
||||
|
||||
private class RoomName : OsuSpriteText
|
||||
|
@ -65,8 +65,6 @@ namespace osu.Game.Screens.Multi.Lounge.Components
|
||||
filter?.BindValueChanged(f => Filter(f.NewValue), true);
|
||||
}
|
||||
|
||||
private FilterCriteria currentFilter;
|
||||
|
||||
public void Filter(FilterCriteria criteria)
|
||||
{
|
||||
roomFlow.Children.ForEach(r =>
|
||||
@ -82,15 +80,13 @@ namespace osu.Game.Screens.Multi.Lounge.Components
|
||||
{
|
||||
default:
|
||||
case SecondaryFilter.Public:
|
||||
r.MatchingFilter = r.Room.Availability.Value == RoomAvailability.Public;
|
||||
matchingFilter &= r.Room.Availability.Value == RoomAvailability.Public;
|
||||
break;
|
||||
}
|
||||
|
||||
r.MatchingFilter = matchingFilter;
|
||||
}
|
||||
});
|
||||
|
||||
currentFilter = criteria;
|
||||
}
|
||||
|
||||
private void addRooms(IEnumerable<Room> rooms)
|
||||
@ -98,7 +94,7 @@ namespace osu.Game.Screens.Multi.Lounge.Components
|
||||
foreach (var r in rooms)
|
||||
roomFlow.Add(new DrawableRoom(r) { Action = () => selectRoom(r) });
|
||||
|
||||
Filter(currentFilter);
|
||||
filter?.TriggerChange();
|
||||
}
|
||||
|
||||
private void removeRooms(IEnumerable<Room> rooms)
|
||||
|
Loading…
Reference in New Issue
Block a user