diff --git a/osu.Game/Graphics/UserInterface/Volume/VolumeControl.cs b/osu.Game/Graphics/UserInterface/Volume/VolumeControl.cs index 0e40127d3f..5f14e27441 100644 --- a/osu.Game/Graphics/UserInterface/Volume/VolumeControl.cs +++ b/osu.Game/Graphics/UserInterface/Volume/VolumeControl.cs @@ -19,6 +19,8 @@ namespace osu.Game.Graphics.UserInterface.Volume { private VolumeMeter volumeMeterMaster; + protected override bool HideOnEscape => false; + private void volumeChanged(object sender, EventArgs e) { Show(); diff --git a/osu.Game/Overlays/LoginOverlay.cs b/osu.Game/Overlays/LoginOverlay.cs index 4ffa63d7cb..22c61cd372 100644 --- a/osu.Game/Overlays/LoginOverlay.cs +++ b/osu.Game/Overlays/LoginOverlay.cs @@ -72,6 +72,8 @@ namespace osu.Game.Overlays protected override void PopOut() { + base.PopOut(); + optionsSection.Bounding = false; FadeOut(transition_time); } diff --git a/osu.Game/Overlays/MusicController.cs b/osu.Game/Overlays/MusicController.cs index 0e0abb12bc..457dc1e7e1 100644 --- a/osu.Game/Overlays/MusicController.cs +++ b/osu.Game/Overlays/MusicController.cs @@ -28,7 +28,7 @@ using osu.Game.Graphics.Sprites; namespace osu.Game.Overlays { - public class MusicController : OverlayContainer + public class MusicController : FocusedOverlayContainer { private MusicControllerBackground backgroundSprite; private DragBar progress; @@ -86,6 +86,8 @@ namespace osu.Game.Overlays { dragContainer = new Container { + Anchor = Anchor.Centre, + Origin = Anchor.Centre, Masking = true, CornerRadius = 5, EdgeEffect = new EdgeEffect @@ -388,14 +390,23 @@ namespace osu.Game.Overlays base.Dispose(isDisposing); } - protected override bool OnClick(InputState state) => true; + const float transition_length = 800; - protected override bool OnMouseDown(InputState state, MouseDownEventArgs args) => true; + protected override void PopIn() + { + base.PopIn(); - //placeholder for toggling - protected override void PopIn() => FadeIn(100); + FadeIn(transition_length, EasingTypes.OutQuint); + dragContainer.ScaleTo(1, transition_length, EasingTypes.OutElastic); + } - protected override void PopOut() => FadeOut(100); + protected override void PopOut() + { + base.PopOut(); + + FadeOut(transition_length, EasingTypes.OutQuint); + dragContainer.ScaleTo(0.9f, transition_length, EasingTypes.OutQuint); + } private enum TransformDirection { None, Next, Prev } diff --git a/osu.Game/Overlays/OptionsOverlay.cs b/osu.Game/Overlays/OptionsOverlay.cs index 0b481ee068..1fce450104 100644 --- a/osu.Game/Overlays/OptionsOverlay.cs +++ b/osu.Game/Overlays/OptionsOverlay.cs @@ -170,6 +170,8 @@ namespace osu.Game.Overlays protected override void PopOut() { + base.PopOut(); + scrollContainer.MoveToX(-width, TRANSITION_LENGTH, EasingTypes.OutQuint); sidebar.MoveToX(-SIDEBAR_WIDTH, TRANSITION_LENGTH, EasingTypes.OutQuint); FadeTo(0, TRANSITION_LENGTH / 2); diff --git a/osu.Game/Overlays/Pause/PauseOverlay.cs b/osu.Game/Overlays/Pause/PauseOverlay.cs index 847b3fe55d..43365a610d 100644 --- a/osu.Game/Overlays/Pause/PauseOverlay.cs +++ b/osu.Game/Overlays/Pause/PauseOverlay.cs @@ -22,6 +22,8 @@ namespace osu.Game.Overlays.Pause private const int button_height = 70; private const float background_alpha = 0.75f; + protected override bool HideOnEscape => false; + public Action OnResume; public Action OnRetry; public Action OnQuit; @@ -83,6 +85,7 @@ namespace osu.Game.Overlays.Pause resume(); return true; } + return base.OnKeyDown(state, args); } diff --git a/osu.Game/Overlays/Toolbar/Toolbar.cs b/osu.Game/Overlays/Toolbar/Toolbar.cs index 1b6abb475c..503a3e0bf5 100644 --- a/osu.Game/Overlays/Toolbar/Toolbar.cs +++ b/osu.Game/Overlays/Toolbar/Toolbar.cs @@ -24,6 +24,10 @@ namespace osu.Game.Overlays.Toolbar private ToolbarModeSelector modeSelector; private ToolbarUserArea userArea; + protected override bool HideOnEscape => false; + + protected override bool BlockPassThroughInput => false; + private const int transition_time = 500; private const float alpha_hovering = 0.8f;