1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-21 18:50:16 +08:00

Merge pull request #33958 from peppy/fix-player-settings-stuck-oh-nooooooo

Fix player settings no longer collapsing correctly
This commit is contained in:
Bartłomiej Dach
2025-06-30 12:30:13 +02:00
committed by GitHub
Unverified
2 changed files with 25 additions and 15 deletions
@@ -12,6 +12,7 @@ using osu.Game.Rulesets.Osu;
using osu.Game.Rulesets.Osu.Replays;
using osu.Game.Scoring;
using osu.Game.Screens.Play;
using osu.Game.Screens.Play.HUD;
using osu.Game.Tests.Beatmaps;
using osu.Game.Tests.Resources;
using osuTK;
@@ -192,6 +193,20 @@ namespace osu.Game.Tests.Visual.Gameplay
AddAssert("player failed after 10000", () => Player.GameplayClockContainer.CurrentTime, () => Is.GreaterThanOrEqualTo(10000));
}
[Test]
public void TestPlayerLoaderSettingsHover()
{
loadPlayerWithBeatmap();
AddUntilStep("wait for settings overlay hidden", () => settingsOverlay().Expanded.Value, () => Is.False);
AddStep("move mouse to right of screen", () => InputManager.MoveMouseTo(Player.ScreenSpaceDrawQuad.TopRight));
AddUntilStep("wait for settings overlay visible", () => settingsOverlay().Expanded.Value, () => Is.True);
AddStep("move mouse to centre of screen", () => InputManager.MoveMouseTo(Player.ScreenSpaceDrawQuad.Centre));
AddUntilStep("wait for settings overlay hidden", () => settingsOverlay().Expanded.Value, () => Is.False);
PlayerSettingsOverlay settingsOverlay() => Player.ChildrenOfType<PlayerSettingsOverlay>().Single();
}
private void loadPlayerWithBeatmap(IBeatmap? beatmap = null)
{
AddStep("create player", () =>
@@ -1,7 +1,6 @@
// 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.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
@@ -41,24 +40,20 @@ namespace osu.Game.Graphics.Containers
RelativeSizeAxes = Axes.Y;
Width = contractedWidth;
FillFlow = new FillFlowContainer
{
Origin = Anchor.CentreLeft,
Anchor = Anchor.CentreLeft,
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Direction = FillDirection.Vertical,
};
}
[BackgroundDependencyLoader]
private void load()
{
InternalChild = CreateScrollContainer().With(s =>
{
s.RelativeSizeAxes = Axes.Both;
s.ScrollbarVisible = false;
}).WithChild(FillFlow);
}).WithChild(
FillFlow = new FillFlowContainer
{
Origin = Anchor.CentreLeft,
Anchor = Anchor.CentreLeft,
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Direction = FillDirection.Vertical,
}
);
}
protected virtual OsuScrollContainer CreateScrollContainer() => new OsuScrollContainer();