1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 03:27:24 +08:00

Add a test case which starts the game

This commit is contained in:
Dean Herbert 2017-11-08 13:52:44 +09:00
parent 713d730d10
commit d8d7165164
4 changed files with 49 additions and 6 deletions

View File

@ -0,0 +1,39 @@
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using System;
using System.Collections.Generic;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Timing;
using osu.Game.Screens;
using osu.Game.Screens.Menu;
using OpenTK.Graphics;
namespace osu.Game.Tests.Visual
{
public class TestCaseOsuGame : OsuTestCase
{
public override IReadOnlyList<Type> RequiredTypes => new[]
{
typeof(OsuLogo),
};
public TestCaseOsuGame()
{
var rateAdjustClock = new StopwatchClock(true);
var framedClock = new FramedClock(rateAdjustClock);
framedClock.ProcessFrame();
Add(new Box
{
RelativeSizeAxes = Axes.Both,
Colour = Color4.Black,
});
Add(new Loader());
AddSliderStep("Playback speed", 0.0, 2.0, 1, v => rateAdjustClock.Rate = v);
}
}
}

View File

@ -122,6 +122,7 @@
<Compile Include="Visual\TestCaseNotificationOverlay.cs" /> <Compile Include="Visual\TestCaseNotificationOverlay.cs" />
<Compile Include="Visual\TestCaseOnScreenDisplay.cs" /> <Compile Include="Visual\TestCaseOnScreenDisplay.cs" />
<Compile Include="Visual\TestCaseAllPlayers.cs" /> <Compile Include="Visual\TestCaseAllPlayers.cs" />
<Compile Include="Visual\TestCaseOsuGame.cs" />
<Compile Include="Visual\TestCasePlaySongSelect.cs" /> <Compile Include="Visual\TestCasePlaySongSelect.cs" />
<Compile Include="Visual\TestCaseReplay.cs" /> <Compile Include="Visual\TestCaseReplay.cs" />
<Compile Include="Visual\TestCaseReplaySettingsOverlay.cs" /> <Compile Include="Visual\TestCaseReplaySettingsOverlay.cs" />

View File

@ -8,7 +8,7 @@ using OpenTK;
namespace osu.Game.Screens namespace osu.Game.Screens
{ {
internal class Loader : OsuScreen public class Loader : OsuScreen
{ {
public override bool ShowOverlays => false; public override bool ShowOverlays => false;
@ -30,7 +30,7 @@ namespace osu.Game.Screens
} }
[BackgroundDependencyLoader] [BackgroundDependencyLoader]
private void load(OsuGame game) private void load(OsuGameBase game)
{ {
if (game.IsDeployedBuild) if (game.IsDeployedBuild)
LoadComponentAsync(new Disclaimer(), d => Push(d)); LoadComponentAsync(new Disclaimer(), d => Push(d));

View File

@ -59,13 +59,16 @@ namespace osu.Game.Screens.Menu
}; };
} }
[BackgroundDependencyLoader] [BackgroundDependencyLoader(true)]
private void load(OsuGame game) private void load(OsuGame game = null)
{ {
LoadComponentAsync(background); LoadComponentAsync(background);
if (game != null)
{
buttons.OnSettings = game.ToggleSettings; buttons.OnSettings = game.ToggleSettings;
buttons.OnDirect = game.ToggleDirect; buttons.OnDirect = game.ToggleDirect;
}
preloadSongSelect(); preloadSongSelect();
} }