Задать вопрос
PragmaGames
@PragmaGames
Увлекаюсь Unity.

Как переделать Task в UniTask?

Всем привет. У меня есть примерно такой код. Мне нужно реализовать метод PlayAsyncUniTask, что бы он работал так же как и PlayAsync. По сути ждал выполнения onComplete

private void Play(Action onComplete)
{
        onComplete?.Invoke();
}

 private async Task PlayAsync()
{
       var task = new TaskCompletionSource<bool>();
       Play((() => task.SetResult(true)));
       await task.Task;
}

private async UniTask PlayAsyncUniTask()
{
            
}


P.S Я нашел одно решение. Может будут еще ?
  • Вопрос задан
  • 269 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия C#-разработчик
    12 месяцев
    Далее
  • Merion Academy
    C# разработчик с нуля
    4 месяца
    Далее
  • Stepik
    PRO C#. Профессия "Backend разработчик"
    4 месяца
    Далее
Решения вопроса 2
PragmaGames
@PragmaGames Автор вопроса
Увлекаюсь Unity.
private async UniTask PlayAsyncUniTask()
{
     var token = new CancellationTokenSource();

     Play(() =>
     {
            token.Cancel();
            token.Dispose();
     });
            
     await UniTask.WaitUntilCanceled(token.Token);
}
Ответ написан
Комментировать
freeExec
@freeExec
Участник OpenStreetMap
PlayAsync().AsUniTask()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы