// 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.Graphics.Sprites; using osu.Game.Overlays.Dialog; using osu.Game.Localisation; namespace osu.Game.Screens.Edit { public partial class CreateNewDifficultyDialog : PopupDialog { /// /// Delegate used to create new difficulties. /// A value of in the createCopy parameter /// indicates that the new difficulty should be an exact copy of an existing one; /// otherwise, the new difficulty should have its hitobjects and beatmap-level settings cleared. /// public delegate void CreateNewDifficulty(bool createCopy); public CreateNewDifficultyDialog(CreateNewDifficulty createNewDifficulty) { HeaderText = EditorDialogsStrings.NewDifficultyDialogHeader; Icon = FontAwesome.Regular.Clone; Buttons = new PopupDialogButton[] { new PopupDialogOkButton { Text = EditorDialogsStrings.CreateNew, Action = () => createNewDifficulty.Invoke(false) }, new PopupDialogCancelButton { Text = EditorDialogsStrings.CreateCopy, Action = () => createNewDifficulty.Invoke(true) }, new PopupDialogCancelButton { Text = EditorDialogsStrings.KeepEditing, Action = () => { } } }; } } }