#nullable enable // Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using osu.Framework.Allocation; using osu.Game.Overlays.Dialog; namespace osu.Game.Overlays { /// /// A global overlay that can show popup dialogs. /// [Cached] public interface IDialogOverlay { /// /// Push a new dialog for display. /// /// /// This will immediate dismiss any already displayed dialog (cancelling the action). /// If the dialog instance provided is already displayed, it will be a noop. /// /// The dialog to be presented. void Push(PopupDialog dialog); /// /// The currently displayed dialog, if any. /// PopupDialog? CurrentDialog { get; } } }