// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System; using osu.Framework.Graphics.Sprites; using osu.Game.Localisation; namespace osu.Game.Overlays.Dialog { /// /// Base class for various confirmation dialogs that concern deletion actions. /// Differs from in that the confirmation button is a "dangerous" one /// (requires the confirm button to be held). /// public abstract partial class DeleteConfirmationDialog : PopupDialog { /// /// The action which performs the deletion. /// protected Action? DeleteAction { get; set; } protected DeleteConfirmationDialog() { HeaderText = DeleteConfirmationDialogStrings.HeaderText; Icon = FontAwesome.Regular.TrashAlt; Buttons = new PopupDialogButton[] { new PopupDialogDangerousButton { Text = DeleteConfirmationDialogStrings.Confirm, Action = () => DeleteAction?.Invoke() }, new PopupDialogCancelButton { Text = DeleteConfirmationDialogStrings.Cancel } }; } } }