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