Merge remote-tracking branch 'upstream/master' into generic-download-model-manager

This commit is contained in:
Dean Herbert 2019-06-26 12:21:04 +09:00
commit 1eda4e0dd4
6 changed files with 49 additions and 30 deletions

View File

@ -137,6 +137,22 @@ namespace osu.Game.Tests.Visual.Gameplay
exitAndConfirm(); exitAndConfirm();
} }
[Test]
public void TestExitViaHoldToExit()
{
AddStep("exit", () =>
{
InputManager.MoveMouseTo(Player.HUDOverlay.HoldToQuit.First(c => c is HoldToConfirmContainer));
InputManager.PressButton(MouseButton.Left);
});
confirmPaused();
AddStep("release", () => InputManager.ReleaseButton(MouseButton.Left));
exitAndConfirm();
}
[Test] [Test]
public void TestExitFromPause() public void TestExitFromPause()
{ {

View File

@ -9,22 +9,13 @@ using osu.Framework.Graphics.Shaders;
using osu.Game.Screens.Menu; using osu.Game.Screens.Menu;
using osuTK; using osuTK;
using osu.Framework.Screens; using osu.Framework.Screens;
using osu.Game.Overlays;
namespace osu.Game.Screens namespace osu.Game.Screens
{ {
public class Loader : OsuScreen public class Loader : StartupScreen
{ {
private bool showDisclaimer; private bool showDisclaimer;
public override bool HideOverlaysOnEnter => true;
public override OverlayActivation InitialOverlayActivationMode => OverlayActivation.Disabled;
public override bool CursorVisible => false;
public override bool AllowBackButton => false;
public Loader() public Loader()
{ {
ValidForResume = false; ValidForResume = false;

View File

@ -15,12 +15,11 @@ using osu.Game.Graphics.Containers;
using osu.Game.Online.API; using osu.Game.Online.API;
using osuTK; using osuTK;
using osuTK.Graphics; using osuTK.Graphics;
using osu.Game.Overlays;
using osu.Game.Users; using osu.Game.Users;
namespace osu.Game.Screens.Menu namespace osu.Game.Screens.Menu
{ {
public class Disclaimer : OsuScreen public class Disclaimer : StartupScreen
{ {
private Intro intro; private Intro intro;
private SpriteIcon icon; private SpriteIcon icon;
@ -28,11 +27,6 @@ namespace osu.Game.Screens.Menu
private LinkFlowContainer textFlow; private LinkFlowContainer textFlow;
private LinkFlowContainer supportFlow; private LinkFlowContainer supportFlow;
public override bool HideOverlaysOnEnter => true;
public override OverlayActivation InitialOverlayActivationMode => OverlayActivation.Disabled;
public override bool CursorVisible => false;
private Drawable heart; private Drawable heart;
private const float icon_y = -85; private const float icon_y = -85;

View File

@ -15,11 +15,10 @@ using osu.Game.IO.Archives;
using osu.Game.Screens.Backgrounds; using osu.Game.Screens.Backgrounds;
using osuTK; using osuTK;
using osuTK.Graphics; using osuTK.Graphics;
using osu.Game.Overlays;
namespace osu.Game.Screens.Menu namespace osu.Game.Screens.Menu
{ {
public class Intro : OsuScreen public class Intro : StartupScreen
{ {
private const string menu_music_beatmap_hash = "3c8b1fcc9434dbb29e2fb613d3b9eada9d7bb6c125ceb32396c3b53437280c83"; private const string menu_music_beatmap_hash = "3c8b1fcc9434dbb29e2fb613d3b9eada9d7bb6c125ceb32396c3b53437280c83";
@ -32,13 +31,6 @@ namespace osu.Game.Screens.Menu
private SampleChannel welcome; private SampleChannel welcome;
private SampleChannel seeya; private SampleChannel seeya;
public override bool AllowBackButton => false;
public override bool HideOverlaysOnEnter => true;
public override OverlayActivation InitialOverlayActivationMode => OverlayActivation.Disabled;
public override bool CursorVisible => false;
protected override BackgroundScreen CreateBackground() => new BackgroundScreenBlack(); protected override BackgroundScreen CreateBackground() => new BackgroundScreenBlack();
private Bindable<bool> menuVoice; private Bindable<bool> menuVoice;

View File

@ -184,7 +184,7 @@ namespace osu.Game.Screens.Play
if (!this.IsCurrentScreen()) return; if (!this.IsCurrentScreen()) return;
fadeOut(true); fadeOut(true);
performUserRequestedExit(); performImmediateExit();
}, },
}, },
failAnimation = new FailAnimation(DrawableRuleset) { OnComplete = onFailComplete, } failAnimation = new FailAnimation(DrawableRuleset) { OnComplete = onFailComplete, }
@ -251,15 +251,20 @@ namespace osu.Game.Screens.Play
return working; return working;
} }
private void performUserRequestedExit() private void performImmediateExit()
{ {
if (!this.IsCurrentScreen()) return;
// if a restart has been requested, cancel any pending completion (user has shown intent to restart). // if a restart has been requested, cancel any pending completion (user has shown intent to restart).
onCompletionEvent = null; onCompletionEvent = null;
ValidForResume = false; ValidForResume = false;
performUserRequestedExit();
}
private void performUserRequestedExit()
{
if (!this.IsCurrentScreen()) return;
this.Exit(); this.Exit();
} }

View File

@ -0,0 +1,21 @@
// 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.Game.Overlays;
namespace osu.Game.Screens
{
/// <summary>
/// A screen which is shown once as part of the startup procedure.
/// </summary>
public abstract class StartupScreen : OsuScreen
{
public override bool AllowBackButton => false;
public override bool HideOverlaysOnEnter => true;
public override bool CursorVisible => false;
public override OverlayActivation InitialOverlayActivationMode => OverlayActivation.Disabled;
}
}