diff --git a/osu.Game.Tests/Visual/Gameplay/TestCasePlayerLoader.cs b/osu.Game.Tests/Visual/Gameplay/TestCasePlayerLoader.cs
index f58c0d35b3..1f0a97cc58 100644
--- a/osu.Game.Tests/Visual/Gameplay/TestCasePlayerLoader.cs
+++ b/osu.Game.Tests/Visual/Gameplay/TestCasePlayerLoader.cs
@@ -10,21 +10,25 @@ using osu.Framework.Bindables;
using osu.Framework.Graphics;
using osu.Framework.Screens;
using osu.Game.Rulesets.Mods;
+using osu.Game.Rulesets.Osu;
using osu.Game.Rulesets.Scoring;
using osu.Game.Screens;
using osu.Game.Screens.Play;
+using osu.Game.Tests.Beatmaps;
namespace osu.Game.Tests.Visual.Gameplay
{
public class TestCasePlayerLoader : ManualInputManagerTestCase
{
private PlayerLoader loader;
- private readonly OsuScreenStack stack;
+ private OsuScreenStack stack;
- public TestCasePlayerLoader()
+ [SetUp]
+ public void Setup() => Schedule(() =>
{
- InputManager.Add(stack = new OsuScreenStack { RelativeSizeAxes = Axes.Both });
- }
+ InputManager.Child = stack = new OsuScreenStack { RelativeSizeAxes = Axes.Both };
+ Beatmap.Value = new TestWorkingBeatmap(new TestBeatmap(new OsuRuleset().RulesetInfo), Clock);
+ });
[Test]
public void TestLoadContinuation()
@@ -33,8 +37,6 @@ namespace osu.Game.Tests.Visual.Gameplay
AddUntilStep("wait for current", () => loader.IsCurrentScreen());
AddStep("mouse in centre", () => InputManager.MoveMouseTo(loader.ScreenSpaceDrawQuad.Centre));
AddUntilStep("wait for no longer current", () => !loader.IsCurrentScreen());
- AddStep("exit loader", () => loader.Exit());
- AddUntilStep("wait for no longer alive", () => !loader.IsAlive);
AddStep("load slow dummy beatmap", () =>
{
SlowLoadPlayer slow = null;
@@ -58,41 +60,25 @@ namespace osu.Game.Tests.Visual.Gameplay
AddStep("load player", () =>
{
Mods.Value = new[] { gameMod = new TestMod() };
- InputManager.MoveMouseTo(loader.ScreenSpaceDrawQuad.Centre);
- stack.Push(new PlayerLoader(() => player = new TestPlayer()));
- });
-
- AddUntilStep("wait for player to become current", () =>
- {
- if (player.IsCurrentScreen())
- {
- playerMod1 = (TestMod)player.Mods.Value.Single();
- return true;
- }
-
- return false;
+ stack.Push(loader = new PlayerLoader(() => player = new TestPlayer()));
});
+ AddUntilStep("wait for loader to become current", () => loader.IsCurrentScreen());
+ AddStep("mouse in centre", () => InputManager.MoveMouseTo(loader.ScreenSpaceDrawQuad.Centre));
+ AddUntilStep("wait for player to be current", () => player.IsCurrentScreen());
+ AddStep("retrieve mods", () => playerMod1 = (TestMod)player.Mods.Value.Single());
AddAssert("game mods not applied", () => gameMod.Applied == false);
AddAssert("player mods applied", () => playerMod1.Applied);
AddStep("restart player", () =>
{
+ var lastPlayer = player;
player = null;
- player.Restart();
- });
-
- AddUntilStep("wait for player to become current", () =>
- {
- if (player.IsCurrentScreen())
- {
- playerMod2 = (TestMod)player.Mods.Value.Single();
- return true;
- }
-
- return false;
+ lastPlayer.Restart();
});
+ AddUntilStep("wait for player to be current", () => player.IsCurrentScreen());
+ AddStep("retrieve mods", () => playerMod2 = (TestMod)player.Mods.Value.Single());
AddAssert("game mods not applied", () => gameMod.Applied == false);
AddAssert("player has different mods", () => playerMod1 != playerMod2);
AddAssert("player mods applied", () => playerMod2.Applied);
diff --git a/osu.Game.Tests/Visual/Menus/TestCaseLoaderAnimation.cs b/osu.Game.Tests/Visual/Menus/TestCaseLoaderAnimation.cs
index df12e14891..eb275cbceb 100644
--- a/osu.Game.Tests/Visual/Menus/TestCaseLoaderAnimation.cs
+++ b/osu.Game.Tests/Visual/Menus/TestCaseLoaderAnimation.cs
@@ -23,7 +23,11 @@ namespace osu.Game.Tests.Visual.Menus
public TestCaseLoaderAnimation()
{
- Child = logo = new OsuLogo { Depth = float.MinValue };
+ Child = logo = new OsuLogo
+ {
+ Alpha = 0,
+ Depth = float.MinValue
+ };
}
[Test]
@@ -39,7 +43,7 @@ namespace osu.Game.Tests.Visual.Menus
LoadScreen(loader);
});
- AddAssert("loaded", () =>
+ AddUntilStep("loaded", () =>
{
logoVisible = loader.Logo?.Alpha > 0;
return loader.Logo != null && loader.ScreenLoaded;
diff --git a/osu.Game/Screens/Edit/Compose/Components/Timeline/ZoomableScrollContainer.cs b/osu.Game/Screens/Edit/Compose/Components/Timeline/ZoomableScrollContainer.cs
index 1e94a20dc7..f41b3cddc0 100644
--- a/osu.Game/Screens/Edit/Compose/Components/Timeline/ZoomableScrollContainer.cs
+++ b/osu.Game/Screens/Edit/Compose/Components/Timeline/ZoomableScrollContainer.cs
@@ -92,13 +92,6 @@ namespace osu.Game.Screens.Edit.Compose.Components.Timeline
}
}
- protected override void Update()
- {
- base.Update();
-
- zoomedContent.Width = DrawWidth * currentZoom;
- }
-
protected override bool OnScroll(ScrollEvent e)
{
if (e.IsPrecise)
@@ -169,6 +162,11 @@ namespace osu.Game.Screens.Edit.Compose.Components.Timeline
float targetOffset = expectedWidth * (focusPoint / contentSize) - focusOffset;
d.currentZoom = newZoom;
+
+ d.zoomedContent.Width = d.DrawWidth * d.currentZoom;
+ // Temporarily here to make sure ScrollTo gets the correct DrawSize for scrollable area.
+ // TODO: Make sure draw size gets invalidated properly on the framework side, and remove this once it is.
+ d.Invalidate(Invalidation.DrawSize);
d.ScrollTo(targetOffset, false);
}
diff --git a/osu.Game/Tests/Visual/PlayerTestCase.cs b/osu.Game/Tests/Visual/PlayerTestCase.cs
index d308b86b5a..fca4fccae0 100644
--- a/osu.Game/Tests/Visual/PlayerTestCase.cs
+++ b/osu.Game/Tests/Visual/PlayerTestCase.cs
@@ -26,7 +26,7 @@ namespace osu.Game.Tests.Visual
public void SetUpSteps()
{
AddStep(ruleset.RulesetInfo.Name, loadPlayer);
- AddUntilStep(() => Player.IsLoaded, "player loaded");
+ AddUntilStep(() => Player.IsLoaded && Player.Alpha == 1, "player loaded");
}
protected virtual IBeatmap CreateBeatmap(Ruleset ruleset) => new TestBeatmap(ruleset.RulesetInfo);
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index 1fcbe7c4c1..22afce9c86 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -16,7 +16,7 @@
-
+
diff --git a/osu.iOS.props b/osu.iOS.props
index 831f33f0b8..eaebcc3361 100644
--- a/osu.iOS.props
+++ b/osu.iOS.props
@@ -105,8 +105,8 @@
-
-
+
+