// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. #nullable disable using osu.Framework.Input.Bindings; using osu.Framework.Input.Events; using osu.Game.Input.Bindings; using osu.Game.Overlays; namespace osu.Game.Screens.Menu { public partial class ExitConfirmOverlay : HoldToConfirmOverlay, IKeyBindingHandler { protected override bool AllowMultipleFires => true; public void Abort() => AbortConfirm(); public ExitConfirmOverlay() : base(0.7f) { } public bool OnPressed(KeyBindingPressEvent e) { if (e.Repeat) return false; if (e.Action == GlobalAction.Back) { BeginConfirm(); return true; } return false; } public void OnReleased(KeyBindingReleaseEvent e) { if (e.Action == GlobalAction.Back) { if (!Fired) AbortConfirm(); } } } }