Revert changes to basic implementation and remove redundant stuff

This commit is contained in:
Andrei Zavatski
2020-03-06 02:12:30 +03:00
parent c08e16d97f
commit 1318f242c1
5 changed files with 28 additions and 126 deletions

View File

@ -13,12 +13,21 @@ using osu.Game.Beatmaps;
using osu.Game.Graphics.Containers;
using osu.Game.Graphics.UserInterface;
using osuTK.Graphics;
using osu.Game.Rulesets;
namespace osu.Game.Overlays.BeatmapListing
{
public class BeatmapListingSearchSection : CompositeDrawable
{
public Bindable<BeatmapSearchParameters> SearchParameters = new Bindable<BeatmapSearchParameters>();
public Bindable<string> Query => textBox.Current;
public Bindable<RulesetInfo> Ruleset => modeFilter.Current;
public Bindable<BeatmapSearchCategory> Category => categoryFilter.Current;
public Bindable<BeatmapSearchGenre> Genre => genreFilter.Current;
public Bindable<BeatmapSearchLanguage> Language => languageFilter.Current;
public BeatmapSetInfo BeatmapSet
{
@ -105,12 +114,6 @@ namespace osu.Game.Overlays.BeatmapListing
});
categoryFilter.Current.Value = BeatmapSearchCategory.Leaderboard;
textBox.Current.BindValueChanged(_ => changeSearchParameters());
modeFilter.Current.BindValueChanged(_ => changeSearchParameters());
categoryFilter.Current.BindValueChanged(_ => changeSearchParameters());
genreFilter.Current.BindValueChanged(_ => changeSearchParameters());
languageFilter.Current.BindValueChanged(_ => changeSearchParameters(), true);
}
[BackgroundDependencyLoader]
@ -119,22 +122,6 @@ namespace osu.Game.Overlays.BeatmapListing
background.Colour = colourProvider.Dark6;
}
public void SetTag(string tag) => textBox.Current.Value = tag;
public void SetGenre(BeatmapSearchGenre genre) => genreFilter.Current.Value = genre;
public void SetLanguage(BeatmapSearchLanguage language) => languageFilter.Current.Value = language;
private void changeSearchParameters()
{
SearchParameters.Value = new BeatmapSearchParameters(
textBox.Current.Value,
modeFilter.Current.Value,
categoryFilter.Current.Value,
genreFilter.Current.Value,
languageFilter.Current.Value);
}
private class BeatmapSearchTextBox : SearchTextBox
{
protected override Color4 SelectionColour => Color4.Gray;

View File

@ -1,30 +0,0 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using osu.Game.Online.API.Requests;
using osu.Game.Rulesets;
namespace osu.Game.Overlays.BeatmapListing
{
public class BeatmapSearchParameters
{
public readonly string Query;
public readonly RulesetInfo Ruleset;
public readonly BeatmapSearchCategory Category;
public readonly BeatmapSearchGenre Genre;
public readonly BeatmapSearchLanguage Language;
public BeatmapSearchParameters(string query, RulesetInfo ruleset, BeatmapSearchCategory category, BeatmapSearchGenre genre, BeatmapSearchLanguage language)
{
Query = query;
Ruleset = ruleset;
Category = category;
Genre = genre;
Language = language;
}
}
}

View File

@ -153,43 +153,22 @@ namespace osu.Game.Overlays
var sortCriteria = sortControl.Current;
var sortDirection = sortControl.SortDirection;
searchSection.SearchParameters.BindValueChanged(parameters =>
searchSection.Query.BindValueChanged(query =>
{
if (parameters.OldValue.Query != parameters.NewValue.Query)
{
sortCriteria.Value = string.IsNullOrEmpty(parameters.NewValue.Query) ? DirectSortCriteria.Ranked : DirectSortCriteria.Relevance;
sortDirection.Value = SortDirection.Descending;
queueUpdateSearch(true);
}
else
{
queueUpdateSearch();
}
sortCriteria.Value = string.IsNullOrEmpty(query.NewValue) ? DirectSortCriteria.Ranked : DirectSortCriteria.Relevance;
sortDirection.Value = SortDirection.Descending;
queueUpdateSearch(true);
});
searchSection.Ruleset.BindValueChanged(_ => queueUpdateSearch());
searchSection.Category.BindValueChanged(_ => queueUpdateSearch());
searchSection.Genre.BindValueChanged(_ => queueUpdateSearch());
searchSection.Language.BindValueChanged(_ => queueUpdateSearch());
sortCriteria.BindValueChanged(_ => queueUpdateSearch());
sortDirection.BindValueChanged(_ => queueUpdateSearch());
}
public void ShowTag(string tag)
{
searchSection.SetTag(tag);
Show();
}
public void ShowGenre(BeatmapSearchGenre genre)
{
searchSection.SetGenre(genre);
Show();
}
public void ShowLanguage(BeatmapSearchLanguage language)
{
searchSection.SetLanguage(language);
Show();
}
private ScheduledDelegate queryChangedDebounce;
private LoadingLayer loadingLayer;
@ -218,13 +197,13 @@ namespace osu.Game.Overlays
loadingLayer.Show();
getSetsRequest = new SearchBeatmapSetsRequest(searchSection.SearchParameters.Value.Query, searchSection.SearchParameters.Value.Ruleset)
getSetsRequest = new SearchBeatmapSetsRequest(searchSection.Query.Value, searchSection.Ruleset.Value)
{
SearchCategory = searchSection.SearchParameters.Value.Category,
SearchCategory = searchSection.Category.Value,
SortCriteria = sortControl.Current.Value,
SortDirection = sortControl.SortDirection.Value,
Genre = searchSection.SearchParameters.Value.Genre,
Language = searchSection.SearchParameters.Value.Language
Genre = searchSection.Genre.Value,
Language = searchSection.Language.Value
};
getSetsRequest.Success += response => Schedule(() => recreatePanels(response));