Update with framework bindable changes

This commit is contained in:
smoogipoo
2019-02-21 18:56:34 +09:00
parent d637b184e4
commit bca347427f
195 changed files with 567 additions and 555 deletions

View File

@ -37,7 +37,7 @@ namespace osu.Game.Screens.Select
/// </summary>
public BeatmapInfo SelectedBeatmap => selectedBeatmap?.Beatmap;
private CarouselBeatmap selectedBeatmap => selectedBeatmapSet?.Beatmaps.FirstOrDefault(s => s.State == CarouselItemState.Selected);
private CarouselBeatmap selectedBeatmap => selectedBeatmapSet?.Beatmaps.FirstOrDefault(s => s.State.Value == CarouselItemState.Selected);
/// <summary>
/// The currently selected beatmap set.
@ -130,7 +130,7 @@ namespace osu.Game.Screens.Select
config.BindWith(OsuSetting.RandomSelectAlgorithm, RandomAlgorithm);
config.BindWith(OsuSetting.SongSelectRightMouseScroll, RightClickScrollingEnabled);
RightClickScrollingEnabled.ValueChanged += v => RightMouseScrollbar = v;
RightClickScrollingEnabled.ValueChanged += e => RightMouseScrollbar = e.NewValue;
RightClickScrollingEnabled.TriggerChange();
}
@ -196,7 +196,7 @@ namespace osu.Game.Screens.Select
foreach (CarouselBeatmapSet set in beatmapSets)
{
if (!bypassFilters && set.Filtered)
if (!bypassFilters && set.Filtered.Value)
continue;
var item = set.Beatmaps.FirstOrDefault(p => p.Beatmap.Equals(beatmap));
@ -205,9 +205,9 @@ namespace osu.Game.Screens.Select
// The beatmap that needs to be selected doesn't exist in this set
continue;
if (!bypassFilters && item.Filtered)
if (!bypassFilters && item.Filtered.Value)
// The beatmap exists in this set but is filtered, so look for the first unfiltered map in the set
item = set.Beatmaps.FirstOrDefault(b => !b.Filtered);
item = set.Beatmaps.FirstOrDefault(b => !b.Filtered.Value);
if (item != null)
{
@ -226,7 +226,7 @@ namespace osu.Game.Screens.Select
/// <param name="skipDifficulties">Whether to skip individual difficulties and only increment over full groups.</param>
public void SelectNext(int direction = 1, bool skipDifficulties = true)
{
var visibleItems = Items.Where(s => !s.Item.Filtered).ToList();
var visibleItems = Items.Where(s => !s.Item.Filtered.Value).ToList();
if (!visibleItems.Any())
return;
@ -248,7 +248,7 @@ namespace osu.Game.Screens.Select
{
var item = visibleItems[currentIndex].Item;
if (item.Filtered || item.State == CarouselItemState.Selected) continue;
if (item.Filtered.Value || item.State.Value == CarouselItemState.Selected) continue;
switch (item)
{
@ -260,7 +260,7 @@ namespace osu.Game.Screens.Select
if (skipDifficulties)
select(set);
else
select(direction > 0 ? set.Beatmaps.First(b => !b.Filtered) : set.Beatmaps.Last(b => !b.Filtered));
select(direction > 0 ? set.Beatmaps.First(b => !b.Filtered.Value) : set.Beatmaps.Last(b => !b.Filtered.Value));
return;
}
}
@ -272,7 +272,7 @@ namespace osu.Game.Screens.Select
/// <returns>True if a selection could be made, else False.</returns>
public bool SelectNextRandom()
{
var visibleSets = beatmapSets.Where(s => !s.Filtered).ToList();
var visibleSets = beatmapSets.Where(s => !s.Filtered.Value).ToList();
if (!visibleSets.Any())
return false;
@ -288,7 +288,7 @@ namespace osu.Game.Screens.Select
CarouselBeatmapSet set;
if (RandomAlgorithm == RandomSelectAlgorithm.RandomPermutation)
if (RandomAlgorithm.Value == RandomSelectAlgorithm.RandomPermutation)
{
var notYetVisitedSets = visibleSets.Except(previouslyVisitedRandomSets).ToList();
if (!notYetVisitedSets.Any())
@ -303,7 +303,7 @@ namespace osu.Game.Screens.Select
else
set = visibleSets.ElementAt(RNG.Next(visibleSets.Count));
var visibleBeatmaps = set.Beatmaps.Where(s => !s.Filtered).ToList();
var visibleBeatmaps = set.Beatmaps.Where(s => !s.Filtered.Value).ToList();
select(visibleBeatmaps[RNG.Next(visibleBeatmaps.Count)]);
return true;
}
@ -314,9 +314,9 @@ namespace osu.Game.Screens.Select
{
var beatmap = randomSelectedBeatmaps.Pop();
if (!beatmap.Filtered)
if (!beatmap.Filtered.Value)
{
if (RandomAlgorithm == RandomSelectAlgorithm.RandomPermutation)
if (RandomAlgorithm.Value == RandomSelectAlgorithm.RandomPermutation)
previouslyVisitedRandomSets.Remove(selectedBeatmapSet);
select(beatmap);
break;
@ -509,9 +509,9 @@ namespace osu.Game.Screens.Select
foreach (var c in set.Beatmaps)
{
c.State.ValueChanged += v =>
c.State.ValueChanged += e =>
{
if (v == CarouselItemState.Selected)
if (e.NewValue == CarouselItemState.Selected)
{
selectedBeatmapSet = set;
SelectionChanged?.Invoke(c.Beatmap);
@ -549,7 +549,7 @@ namespace osu.Game.Screens.Select
case DrawableCarouselBeatmapSet set:
lastSet = set;
set.MoveToX(set.Item.State == CarouselItemState.Selected ? -100 : 0, 500, Easing.OutExpo);
set.MoveToX(set.Item.State.Value == CarouselItemState.Selected ? -100 : 0, 500, Easing.OutExpo);
set.MoveToY(currentY, 750, Easing.OutExpo);
break;
case DrawableCarouselBeatmap beatmap:
@ -559,7 +559,7 @@ namespace osu.Game.Screens.Select
void performMove(float y, float? startY = null)
{
if (startY != null) beatmap.MoveTo(new Vector2(0, startY.Value));
beatmap.MoveToX(beatmap.Item.State == CarouselItemState.Selected ? -50 : 0, 500, Easing.OutExpo);
beatmap.MoveToX(beatmap.Item.State.Value == CarouselItemState.Selected ? -50 : 0, 500, Easing.OutExpo);
beatmap.MoveToY(y, 750, Easing.OutExpo);
}