From 099ce3953127e075f73ee5b11d0f1307e012fe07 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 4 Feb 2025 23:21:41 +0900 Subject: [PATCH] Use same delay in context menus --- osu.Game/Graphics/UserInterface/OsuContextMenu.cs | 7 +++---- osu.Game/Graphics/UserInterface/OsuMenu.cs | 7 +++++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/osu.Game/Graphics/UserInterface/OsuContextMenu.cs b/osu.Game/Graphics/UserInterface/OsuContextMenu.cs index 433d37834f..e81d77ce43 100644 --- a/osu.Game/Graphics/UserInterface/OsuContextMenu.cs +++ b/osu.Game/Graphics/UserInterface/OsuContextMenu.cs @@ -12,8 +12,6 @@ namespace osu.Game.Graphics.UserInterface { public partial class OsuContextMenu : OsuMenu { - private const int fade_duration = 250; - [Resolved] private OsuMenuSamples menuSamples { get; set; } = null!; @@ -48,7 +46,7 @@ namespace osu.Game.Graphics.UserInterface protected override void AnimateOpen() { wasOpened = true; - this.FadeIn(fade_duration, Easing.OutQuint); + this.FadeIn(FADE_DURATION, Easing.OutQuint); if (!playClickSample) return; @@ -59,7 +57,8 @@ namespace osu.Game.Graphics.UserInterface protected override void AnimateClose() { - this.FadeOut(fade_duration, Easing.OutQuint); + this.Delay(DELAY_BEFORE_FADE_OUT) + .FadeOut(FADE_DURATION, Easing.OutQuint); if (wasOpened) menuSamples.PlayCloseSample(); diff --git a/osu.Game/Graphics/UserInterface/OsuMenu.cs b/osu.Game/Graphics/UserInterface/OsuMenu.cs index 9b099c0884..a75769b16b 100644 --- a/osu.Game/Graphics/UserInterface/OsuMenu.cs +++ b/osu.Game/Graphics/UserInterface/OsuMenu.cs @@ -18,6 +18,9 @@ namespace osu.Game.Graphics.UserInterface { public partial class OsuMenu : Menu { + protected const double DELAY_BEFORE_FADE_OUT = 50; + protected const double FADE_DURATION = 280; + // todo: this shouldn't be required after https://github.com/ppy/osu-framework/issues/4519 is fixed. private bool wasOpened; @@ -68,8 +71,8 @@ namespace osu.Game.Graphics.UserInterface if (!TopLevelMenu && wasOpened) menuSamples?.PlayCloseSample(); - this.Delay(50) - .FadeOut(300, Easing.OutQuint); + this.Delay(DELAY_BEFORE_FADE_OUT) + .FadeOut(FADE_DURATION, Easing.OutQuint); wasOpened = false; }