From 8bc7c4c9a262057013a14cb4f05c1fc81f64e8c5 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 11 Jul 2018 16:30:33 +0900 Subject: [PATCH] Add TestCase and update disclaimer screen --- osu.Game.Tests/Visual/TestCaseDisclaimer.cs | 28 +++++ osu.Game/Screens/Menu/Disclaimer.cs | 120 +++++++++----------- 2 files changed, 84 insertions(+), 64 deletions(-) create mode 100644 osu.Game.Tests/Visual/TestCaseDisclaimer.cs diff --git a/osu.Game.Tests/Visual/TestCaseDisclaimer.cs b/osu.Game.Tests/Visual/TestCaseDisclaimer.cs new file mode 100644 index 0000000000..a8253a991a --- /dev/null +++ b/osu.Game.Tests/Visual/TestCaseDisclaimer.cs @@ -0,0 +1,28 @@ +// Copyright (c) 2007-2018 ppy Pty Ltd . +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using osu.Framework.Allocation; +using osu.Framework.Graphics; +using osu.Framework.Graphics.Shapes; +using osu.Game.Screens.Menu; +using OpenTK.Graphics; + +namespace osu.Game.Tests.Visual +{ + public class TestCaseDisclaimer : OsuTestCase + { + [BackgroundDependencyLoader] + private void load() + { + Children = new Drawable[] + { + new Box + { + RelativeSizeAxes = Axes.Both, + Colour = Color4.Black, + }, + new Disclaimer() + }; + } + } +} diff --git a/osu.Game/Screens/Menu/Disclaimer.cs b/osu.Game/Screens/Menu/Disclaimer.cs index 0c70dbf570..694f911773 100644 --- a/osu.Game/Screens/Menu/Disclaimer.cs +++ b/osu.Game/Screens/Menu/Disclaimer.cs @@ -3,10 +3,9 @@ using osu.Framework.Allocation; using osu.Framework.Graphics; -using osu.Framework.Graphics.Containers; using osu.Framework.Screens; using osu.Game.Graphics; -using osu.Game.Graphics.Sprites; +using osu.Game.Graphics.Containers; using OpenTK; using OpenTK.Graphics; using osu.Game.Overlays; @@ -16,96 +15,89 @@ namespace osu.Game.Screens.Menu public class Disclaimer : OsuScreen { private Intro intro; - private readonly SpriteIcon icon; + private SpriteIcon icon; private Color4 iconColour; + private LinkFlowContainer textFlow; protected override bool HideOverlaysOnEnter => true; protected override OverlayActivation InitialOverlayActivationMode => OverlayActivation.Disabled; public override bool CursorVisible => false; + private const float icon_y = -0.09f; + public Disclaimer() { ValidForResume = false; - - Children = new Drawable[] - { - new FillFlowContainer - { - AutoSizeAxes = Axes.Both, - Anchor = Anchor.Centre, - Origin = Anchor.Centre, - Direction = FillDirection.Vertical, - Spacing = new Vector2(0, 2), - Children = new Drawable[] - { - icon = new SpriteIcon - { - Anchor = Anchor.TopCentre, - Origin = Anchor.TopCentre, - Icon = FontAwesome.fa_warning, - Size = new Vector2(30), - }, - new OsuSpriteText - { - Anchor = Anchor.TopCentre, - Origin = Anchor.TopCentre, - TextSize = 30, - Text = "This is a development build", - Margin = new MarginPadding - { - Bottom = 20 - }, - }, - new OsuSpriteText - { - Anchor = Anchor.TopCentre, - Origin = Anchor.TopCentre, - Text = "Don't expect shit to work perfectly as this is very much a work in progress." - }, - new OsuSpriteText - { - Anchor = Anchor.TopCentre, - Origin = Anchor.TopCentre, - Text = "Don't report bugs because we are aware. Don't complain about missing features because we are adding them." - }, - new OsuSpriteText - { - Anchor = Anchor.TopCentre, - Origin = Anchor.TopCentre, - Text = "Sit back and enjoy. Visit discord.gg/ppy if you want to help out!", - Margin = new MarginPadding { Bottom = 20 }, - }, - new OsuSpriteText - { - Anchor = Anchor.TopCentre, - Origin = Anchor.TopCentre, - TextSize = 12, - Text = "oh and yes, you will get seizures.", - }, - } - } - }; } [BackgroundDependencyLoader] private void load(OsuColour colours) { - LoadComponentAsync(intro = new Intro()); + Children = new Drawable[] + { + icon = new SpriteIcon + { + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + Icon = FontAwesome.fa_warning, + Size = new Vector2(30), + RelativePositionAxes = Axes.Both, + Y = icon_y, + }, + textFlow = new LinkFlowContainer + { + RelativeSizeAxes = Axes.X, + AutoSizeAxes = Axes.Y, + Padding = new MarginPadding(50), + TextAnchor = Anchor.TopCentre, + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + Spacing = new Vector2(0, 2), + } + }; + + textFlow.AddText("This is an ", t => + { + t.TextSize = 30; + t.Font = @"Exo2.0-Light"; + }); + textFlow.AddText("early development build", t => + { + t.TextSize = 30; + t.Font = @"Exo2.0-SemiBold"; + }); + + textFlow.AddParagraph("Don't expect everything to work perfectly."); + textFlow.AddParagraph(""); + textFlow.AddParagraph("Detailed bug reports are welcomed via github issues."); + textFlow.AddParagraph(""); + + textFlow.AddText("Visit "); + textFlow.AddLink("discord.gg/ppy", "https://discord.gg/ppy"); + textFlow.AddText(" if you want to help out or follow progress!"); iconColour = colours.Yellow; } + protected override void LoadComplete() + { + base.LoadComplete(); + LoadComponentAsync(intro = new Intro()); + } + protected override void OnEntering(Screen last) { base.OnEntering(last); - icon.Delay(1500).FadeColour(iconColour, 200); + icon.Delay(1500).FadeColour(iconColour, 200, Easing.OutQuint); + icon.Delay(1500).MoveToY(icon_y * 1.1f, 100, Easing.OutCirc).Then().MoveToY(icon_y, 100, Easing.InCirc); Content .FadeInFromZero(500) .Then(5500) .FadeOut(250) + .ScaleTo(0.9f, 250, Easing.InQuint) .Finally(d => Push(intro)); } }