mirror of
https://github.com/ppy/osu.git
synced 2025-03-22 21:00:33 +08:00
Fix mode selector not invoking a re-filter.
This commit is contained in:
parent
e8efdcfe0f
commit
fa7fd6efe3
@ -199,7 +199,7 @@ namespace osu.Game
|
||||
{
|
||||
Depth = -3,
|
||||
OnHome = delegate { intro?.ChildScreen?.MakeCurrent(); },
|
||||
OnPlayModeChange = delegate (PlayMode m) { PlayMode.Value = m; },
|
||||
OnPlayModeChange = m => PlayMode.Value = m,
|
||||
}).LoadAsync(this, t =>
|
||||
{
|
||||
PlayMode.ValueChanged += delegate { Toolbar.SetGameMode(PlayMode.Value); };
|
||||
|
@ -65,14 +65,13 @@ namespace osu.Game.Overlays.Toolbar
|
||||
|
||||
foreach (PlayMode m in Ruleset.PlayModes)
|
||||
{
|
||||
var localMode = m;
|
||||
modeButtons.Add(new ToolbarModeButton
|
||||
{
|
||||
Mode = m,
|
||||
Action = delegate
|
||||
{
|
||||
SetGameMode(localMode);
|
||||
OnPlayModeChange?.Invoke(localMode);
|
||||
SetGameMode(m);
|
||||
OnPlayModeChange?.Invoke(m);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -181,7 +181,8 @@ namespace osu.Game.Screens.Select
|
||||
{
|
||||
if (!IsLoaded) return;
|
||||
|
||||
criteria = newCriteria ?? criteria ?? new FilterCriteria();
|
||||
if (newCriteria != null)
|
||||
criteria = newCriteria;
|
||||
|
||||
Action perform = delegate
|
||||
{
|
||||
|
@ -175,6 +175,7 @@ namespace osu.Game.Screens.Select
|
||||
|
||||
if (osu != null)
|
||||
playMode.BindTo(osu.PlayMode);
|
||||
playMode.ValueChanged += (s, e) => FilterChanged?.Invoke(CreateCriteria());
|
||||
}
|
||||
|
||||
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args) => true;
|
||||
|
@ -276,7 +276,7 @@ namespace osu.Game.Screens.Select
|
||||
initialAddSetsTask.Cancel();
|
||||
}
|
||||
|
||||
private void playMode_ValueChanged(object sender, EventArgs e) => carousel.Filter();
|
||||
private void playMode_ValueChanged(object sender, EventArgs e) => Beatmap.PreferredPlayMode = playMode;
|
||||
|
||||
private void changeBackground(WorkingBeatmap beatmap)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user