using System; using System.Threading.Tasks; using Wabbajack.DTOs.DownloadStates; namespace Wabbajack { public class ManuallyDownloadNexusFile : AUserIntervention { public Nexus State { get; } public override string ShortDescription { get; } = string.Empty; public override string ExtendedDescription { get; } = string.Empty; private TaskCompletionSource _tcs = new TaskCompletionSource(); public Task Task => _tcs.Task; private ManuallyDownloadNexusFile(Nexus state) { State = state; } public static async Task Create(Nexus state) { var result = new ManuallyDownloadNexusFile(state); return result; } public override void Cancel() { _tcs.SetCanceled(); } public void Resume(Uri s) { _tcs.SetResult(s); } } }