diff --git a/osu.Game.Tests/Visual/UserInterface/TestSceneModSelectScreen.cs b/osu.Game.Tests/Visual/UserInterface/TestSceneModSelectScreen.cs index d7ae131372..ec6e962c6a 100644 --- a/osu.Game.Tests/Visual/UserInterface/TestSceneModSelectScreen.cs +++ b/osu.Game.Tests/Visual/UserInterface/TestSceneModSelectScreen.cs @@ -119,25 +119,23 @@ namespace osu.Game.Tests.Visual.UserInterface AddUntilStep("any column dimmed", () => this.ChildrenOfType().Any(column => !column.Active.Value)); - ModColumn firstDimmed = null; - ModPanel firstPanel = null; + ModColumn lastColumn = null; - AddStep("click first panel on dimmed column", () => + AddAssert("last column dimmed", () => !this.ChildrenOfType().Last().Active.Value); + AddStep("request scroll to last column", () => { - firstDimmed = this.ChildrenOfType().First(column => !column.Active.Value); - firstPanel = firstDimmed.ChildrenOfType().First(); - InputManager.MoveMouseTo(firstPanel); + var lastDimContainer = this.ChildrenOfType().Last(); + lastColumn = lastDimContainer.Column; + lastDimContainer.RequestScroll?.Invoke(lastDimContainer); + }); + AddUntilStep("column undimmed", () => lastColumn.Active.Value); + + AddStep("click panel", () => + { + InputManager.MoveMouseTo(lastColumn.ChildrenOfType().First()); InputManager.Click(MouseButton.Left); }); - AddUntilStep("column undimmed", () => firstDimmed.Active.Value); - AddAssert("panel not selected", () => !firstPanel.Active.Value); - - AddStep("click panel again", () => - { - InputManager.MoveMouseTo(firstPanel); - InputManager.Click(MouseButton.Left); - }); - AddUntilStep("panel selected", () => firstPanel.Active.Value); + AddUntilStep("panel selected", () => lastColumn.ChildrenOfType().First().Active.Value); } [Test] diff --git a/osu.Game/Overlays/Mods/ModSelectScreen.cs b/osu.Game/Overlays/Mods/ModSelectScreen.cs index 76f4a8cdd4..e28b46436c 100644 --- a/osu.Game/Overlays/Mods/ModSelectScreen.cs +++ b/osu.Game/Overlays/Mods/ModSelectScreen.cs @@ -394,7 +394,7 @@ namespace osu.Game.Overlays.Mods } } - private class ColumnDimContainer : Container + internal class ColumnDimContainer : Container { public ModColumn Column { get; }