1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 01:27:29 +08:00

Fix mode selector not invoking a re-filter.

This commit is contained in:
Dean Herbert 2017-03-29 19:47:53 +09:00
parent e8efdcfe0f
commit fa7fd6efe3
No known key found for this signature in database
GPG Key ID: 46D71BF4958ABB49
5 changed files with 7 additions and 6 deletions

View File

@ -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); };

View File

@ -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);
}
});
}

View File

@ -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
{

View File

@ -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;

View File

@ -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)
{