1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-21 20:12:57 +08:00

Bring logic up-to-date

This commit is contained in:
Dean Herbert 2022-08-26 19:32:49 +09:00
parent a146db0e35
commit 217fa00a72
2 changed files with 10 additions and 26 deletions

View File

@ -834,16 +834,7 @@ namespace osu.Game.Tests.Visual.SongSelect
for (int i = 0; i < makeThisManyGroups; i++) for (int i = 0; i < makeThisManyGroups; i++)
{ {
for (int j = 0; j < haveThisManySetsInGroup; j++) for (int j = 0; j < haveThisManySetsInGroup; j++)
{ sets.Add(TestResources.CreateTestBeatmapSetInfo(i * haveThisManySetsInGroup + j + 1));
var testBeatmap = createTestBeatmapSet(i * haveThisManySetsInGroup + j + 1);
var rulesetID = i % 3;
testBeatmap.Beatmaps.ForEach(b =>
{
b.Ruleset = rulesets.AvailableRulesets.ElementAt(rulesetID);
b.RulesetID = rulesetID;
});
sets.Add(testBeatmap);
}
} }
loadBeatmaps(sets); loadBeatmaps(sets);
@ -852,7 +843,7 @@ namespace osu.Game.Tests.Visual.SongSelect
for (int i = 1; i < makeThisManyGroups; i++) for (int i = 1; i < makeThisManyGroups; i++)
{ {
var rulesetID = i % 3; int rulesetID = i % 3;
AddStep($"Toggle filter to ruleset {rulesetID}", () => AddStep($"Toggle filter to ruleset {rulesetID}", () =>
{ {
carousel.Filter(new FilterCriteria { Ruleset = rulesets.AvailableRulesets.ElementAt(rulesetID) }, false); carousel.Filter(new FilterCriteria { Ruleset = rulesets.AvailableRulesets.ElementAt(rulesetID) }, false);
@ -869,14 +860,7 @@ namespace osu.Game.Tests.Visual.SongSelect
for (int i = 1; i <= 40; i++) for (int i = 1; i <= 40; i++)
{ {
var testBeatmap = createTestBeatmapSet(i); sets.Add(TestResources.CreateTestBeatmapSetInfo(i));
var rulesetID = (i - 1) / 10;
testBeatmap.Beatmaps.ForEach(b =>
{
b.Ruleset = rulesets.AvailableRulesets.ElementAt(rulesetID);
b.RulesetID = rulesetID;
});
sets.Add(testBeatmap);
} }
loadBeatmaps(sets); loadBeatmaps(sets);

View File

@ -120,16 +120,16 @@ namespace osu.Game.Screens.Select.Carousel
while (true) while (true)
{ {
// check if a direction has been exhausted and an item (or null) from the other direction should be returned // check if a direction has been exhausted and an item (or null) from the other direction should be returned
if (forwardsIndex >= Children.Count) if (forwardsIndex >= Items.Count)
return Children.Reverse().Skip(Children.Count - backwardsIndex - 1).FirstOrDefault(item => !item.Filtered.Value); return Items.Reverse().Skip(Items.Count - backwardsIndex - 1).FirstOrDefault(item => !item.Filtered.Value);
if (backwardsIndex < 0) if (backwardsIndex < 0)
return Children.Skip(forwardsIndex).FirstOrDefault(item => !item.Filtered.Value); return Items.Skip(forwardsIndex).FirstOrDefault(item => !item.Filtered.Value);
// check if an unfiltered item has been reached // check if an unfiltered item has been reached
if (!Children[forwardsIndex].Filtered.Value) if (!Items[forwardsIndex].Filtered.Value)
return Children[forwardsIndex]; return Items[forwardsIndex];
if (!Children[backwardsIndex].Filtered.Value) if (!Items[backwardsIndex].Filtered.Value)
return Children[backwardsIndex]; return Items[backwardsIndex];
// increment the indices // increment the indices
forwardsIndex++; forwardsIndex++;