From 31db768bdc44a46f6f34f5d2afdec09d27b78de9 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 27 Dec 2018 19:18:27 +0900 Subject: [PATCH 1/4] Hide version overlay when not in main menu --- osu.Game/OsuGame.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs index 6a5f9656d1..cc923bb91f 100644 --- a/osu.Game/OsuGame.cs +++ b/osu.Game/OsuGame.cs @@ -716,10 +716,16 @@ namespace osu.Game this.ruleset.Disabled = rulesetDisabled; } - private void screenAdded(Screen newScreen) + protected virtual void ScreenChanged(OsuScreen current, Screen newScreen) { currentScreen = (OsuScreen)newScreen; - Logger.Log($"Screen changed → {currentScreen}"); + } + + private void screenAdded(Screen newScreen) + { + ScreenChanged(currentScreen, newScreen); + Logger.Log($"Screen changed → {newScreen}"); + newScreen.ModePushed += screenAdded; newScreen.Exited += screenRemoved; @@ -727,7 +733,7 @@ namespace osu.Game private void screenRemoved(Screen newScreen) { - currentScreen = (OsuScreen)newScreen; + ScreenChanged(currentScreen, newScreen); Logger.Log($"Screen changed ← {currentScreen}"); if (newScreen == null) From bdadd1bba2b7e8e38c6fbe220296f75be94b3ed2 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 27 Dec 2018 19:22:24 +0900 Subject: [PATCH 2/4] Add actual changes --- osu.Desktop/Overlays/VersionManager.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/osu.Desktop/Overlays/VersionManager.cs b/osu.Desktop/Overlays/VersionManager.cs index f31bba1e1e..c1fd34d009 100644 --- a/osu.Desktop/Overlays/VersionManager.cs +++ b/osu.Desktop/Overlays/VersionManager.cs @@ -128,11 +128,12 @@ namespace osu.Desktop.Overlays protected override void PopIn() { - this.FadeIn(1000); + this.FadeIn(1400, Easing.OutQuint); } protected override void PopOut() { + this.FadeOut(500, Easing.OutQuint); } } } From c6d017b503cd5ff8ab6d75f52995923ef5460826 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 27 Dec 2018 19:23:58 +0900 Subject: [PATCH 3/4] And some more --- osu.Desktop/OsuGameDesktop.cs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/osu.Desktop/OsuGameDesktop.cs b/osu.Desktop/OsuGameDesktop.cs index 93fd3935c6..bd9ba3501f 100644 --- a/osu.Desktop/OsuGameDesktop.cs +++ b/osu.Desktop/OsuGameDesktop.cs @@ -15,12 +15,16 @@ using Microsoft.Win32; using osu.Desktop.Updater; using osu.Framework; using osu.Framework.Platform.Windows; +using osu.Framework.Screens; +using osu.Game.Screens; +using osu.Game.Screens.Menu; namespace osu.Desktop { internal class OsuGameDesktop : OsuGame { private readonly bool noVersionOverlay; + private VersionManager versionManager; public OsuGameDesktop(string[] args = null) : base(args) @@ -46,7 +50,7 @@ namespace osu.Desktop if (!noVersionOverlay) { - LoadComponentAsync(new VersionManager { Depth = int.MinValue }, v => + LoadComponentAsync(versionManager = new VersionManager { Depth = int.MinValue }, v => { Add(v); v.State = Visibility.Visible; @@ -59,6 +63,21 @@ namespace osu.Desktop } } + protected override void ScreenChanged(OsuScreen current, Screen newScreen) + { + base.ScreenChanged(current, newScreen); + switch (newScreen) + { + case Intro _: + case MainMenu _: + versionManager.State = Visibility.Visible; + break; + default: + versionManager.State = Visibility.Hidden; + break; + } + } + public override void SetHost(GameHost host) { base.SetHost(host); From ab5f6e149c82ebd2cd3ea8f2564df10c75efb991 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 27 Dec 2018 19:25:56 +0900 Subject: [PATCH 4/4] Remvoe extra newline --- osu.Game/OsuGame.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs index cc923bb91f..2a4c812401 100644 --- a/osu.Game/OsuGame.cs +++ b/osu.Game/OsuGame.cs @@ -726,7 +726,6 @@ namespace osu.Game ScreenChanged(currentScreen, newScreen); Logger.Log($"Screen changed → {newScreen}"); - newScreen.ModePushed += screenAdded; newScreen.Exited += screenRemoved; }