mirror of
https://github.com/ppy/osu
synced 2025-03-11 05:49:12 +00:00
Doesn't allow randomizer to select invisible maps
This commit is contained in:
parent
398d90ee52
commit
d032790e19
@ -231,8 +231,8 @@ namespace osu.Game.Screens.Select
|
|||||||
|
|
||||||
public void SelectNextRandom()
|
public void SelectNextRandom()
|
||||||
{
|
{
|
||||||
var visible = beatmapSets.Where(s => !s.Filtered).ToList();
|
var visibleSets = beatmapSets.Where(s => !s.Filtered).ToList();
|
||||||
if (!visible.Any())
|
if (!visibleSets.Any())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (selectedBeatmap != null)
|
if (selectedBeatmap != null)
|
||||||
@ -249,20 +249,21 @@ namespace osu.Game.Screens.Select
|
|||||||
|
|
||||||
if (RandomAlgorithm == RandomSelectAlgorithm.RandomPermutation)
|
if (RandomAlgorithm == RandomSelectAlgorithm.RandomPermutation)
|
||||||
{
|
{
|
||||||
var notYetVisitedSets = visible.Except(previouslyVisitedRandomSets).ToList();
|
var notYetVisitedSets = visibleSets.Except(previouslyVisitedRandomSets).ToList();
|
||||||
if (!notYetVisitedSets.Any())
|
if (!notYetVisitedSets.Any())
|
||||||
{
|
{
|
||||||
previouslyVisitedRandomSets.Clear();
|
previouslyVisitedRandomSets.Clear();
|
||||||
notYetVisitedSets = visible;
|
notYetVisitedSets = visibleSets;
|
||||||
}
|
}
|
||||||
|
|
||||||
set = notYetVisitedSets.ElementAt(RNG.Next(notYetVisitedSets.Count));
|
set = notYetVisitedSets.ElementAt(RNG.Next(notYetVisitedSets.Count));
|
||||||
previouslyVisitedRandomSets.Add(set);
|
previouslyVisitedRandomSets.Add(set);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
set = visible.ElementAt(RNG.Next(visible.Count));
|
set = visibleSets.ElementAt(RNG.Next(visibleSets.Count));
|
||||||
|
|
||||||
select(set.Beatmaps.Skip(RNG.Next(set.Beatmaps.Count())).FirstOrDefault());
|
var visibleBeatmaps = set.Beatmaps.Where(s => !s.Filtered).ToList();
|
||||||
|
select(visibleBeatmaps.Skip(RNG.Next(visibleBeatmaps.Count())).FirstOrDefault());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SelectPreviousRandom()
|
public void SelectPreviousRandom()
|
||||||
|
Loading…
Reference in New Issue
Block a user