TGViewer
SpellSinger - разработчик игр на Unity SpellSinger - разработчик игр на Unity @spellsingergames · 548 subscribers
Post #51 558
Моё первое знакомство с UniTask

Вчера мне понадобилось выполнить действие с задержкой в классе, не являющимся MonoBehaviour, то есть я не мог использовать для этой цели корутину.

Опытные товарищи посоветовали использовать UniTask. Мне понравилось.

Делюсь получившимся кодом. Дополнительное требование было в том, что при повторном вызове метода предыдущий таймер должен был останавливаться, и запускаться новый.

public class FrenzyState
{
private CancellationTokenSource cancelStopToken;

public void Start()
{
// some useful code
cancelStopToken?.Cancel();
cancelStopToken = new CancellationTokenSource();
Stop(cancelStopToken.Token).Forget();
}

private async UniTaskVoid Stop(CancellationToken cancellationToken)
{
await UniTask.Delay(TimeSpan.FromSeconds(10), cancellationToken: cancellationToken);
// some useful code
}
}
GitHub GitHub - Cysharp/UniTask: Provides an efficient allocation free async/await integration for Unity. Provides an efficient allocation free async/await integration for Unity. - Cysharp/UniTask
  • 🔥 5
  • 👎 1
More from @spellsingergames
  1. Oct 1, 2026Автор
  2. Aug 31, 2026Post #235
  3. Aug 25, 2026Прошли модерацию на Crazy Games. Basic Launch продлится до 15 сентября или пока не наберет…
  4. Aug 24, 2026А мы, тем временем, идём покорять #crazy_games Вчера ночью отправили билд на модерацию. Мо…
  5. Aug 24, 20262 недели нужно рекоммендеру Яндекс игр, чтобы как-то отреагировать на изменения метрик. AR…
  6. Aug 14, 2026Шестой эпизод подкаста ГЕЙМДЕВ ПОД ПИВОМ уже во вторник, в 22:30МСК! Хорошенечко отоспитес…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →