using System.Threading.Tasks; using Wabbajack.Common; namespace Wabbajack.Lib { /// /// This should probably be replaced with an error, but this is just to get messageboxes out of the .Lib library /// public class CriticalFailureIntervention : AUserIntervention { private TaskCompletionSource _source = new TaskCompletionSource(); public Task Task => _source.Task; public CriticalFailureIntervention(string description, string title) { ExtendedDescription = description; ShortDescription = title; } public override string ShortDescription { get; } public override string ExtendedDescription { get; } public override void Cancel() { Handled = true; _source.SetResult(ConfirmationIntervention.Choice.Abort); } } }