1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-17 22:17:25 +08:00

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();
}
[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]
public void TestExitFromPause()
{

View File

@ -9,22 +9,13 @@ using osu.Framework.Graphics.Shaders;
using osu.Game.Screens.Menu;
using osuTK;
using osu.Framework.Screens;
using osu.Game.Overlays;
namespace osu.Game.Screens
{
public class Loader : OsuScreen
public class Loader : StartupScreen
{
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()
{
ValidForResume = false;

View File

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

View File

@ -15,11 +15,10 @@ using osu.Game.IO.Archives;
using osu.Game.Screens.Backgrounds;
using osuTK;
using osuTK.Graphics;
using osu.Game.Overlays;
namespace osu.Game.Screens.Menu
{
public class Intro : OsuScreen
public class Intro : StartupScreen
{
private const string menu_music_beatmap_hash = "3c8b1fcc9434dbb29e2fb613d3b9eada9d7bb6c125ceb32396c3b53437280c83";
@ -32,13 +31,6 @@ namespace osu.Game.Screens.Menu
private SampleChannel welcome;
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();
private Bindable<bool> menuVoice;

View File

@ -184,7 +184,7 @@ namespace osu.Game.Screens.Play
if (!this.IsCurrentScreen()) return;
fadeOut(true);
performUserRequestedExit();
performImmediateExit();
},
},
failAnimation = new FailAnimation(DrawableRuleset) { OnComplete = onFailComplete, }
@ -251,15 +251,20 @@ namespace osu.Game.Screens.Play
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).
onCompletionEvent = null;
ValidForResume = false;
performUserRequestedExit();
}
private void performUserRequestedExit()
{
if (!this.IsCurrentScreen()) return;
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;
}
}