「Unity/UniTask」の版間の差分
提供: 初心者エンジニアの簡易メモ
細 (Admin がページ「Unity/UniRx/UniTask」を「Unity/UniTask」に、リダイレクトを残さずに移動しました) |
|||
行2: | 行2: | ||
https://github.com/Cysharp/UniTask/releases | https://github.com/Cysharp/UniTask/releases | ||
+ | UniTask-master/src/UniTaskを、Assets/Pluginsの下へ置く。 | ||
==Taskとの比較== | ==Taskとの比較== | ||
UniTaskは、Taskより軽く、SynchronizationContextへの依存がない。 | UniTaskは、Taskより軽く、SynchronizationContextへの依存がない。 |
2021年11月4日 (木) 16:43時点における版
ダウンロード
https://github.com/Cysharp/UniTask/releases
UniTask-master/src/UniTaskを、Assets/Pluginsの下へ置く。
Taskとの比較
UniTaskは、Taskより軽く、SynchronizationContextへの依存がない。
Taskサンプルはこちら
Unity/Csharp/別スレッド [ショートカット]
サンプル
using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Threading.Tasks; // Taskサンプル用 // using UniRx.Async; // UniTask ver1 using Cysharp.Threading.Tasks; // UniTask ver2 public class SampleScene : MonoBehaviour { void Start() { Exec(); } async void Exec() { var result = await ExecUniTask(); Debug.Log("Exec " + result); // Exec Hello!! } async UniTask<string> ExecUniTask() { return await Task.Run(() => "Hello!!"); } }
条件を満たしたら先へ
async void Exec() { await UniTask.WaitUntil(() => transform.position.y < 0); Debug.Log("ok"); }
MainCameraにaddComponentしてたら、Yの値を-1にすると先へ進む
参考
UniTask使い方 https://qiita.com/toRisouP/items/4445b6b9bf00e49eb147
UniTask ver2 https://qiita.com/toRisouP/items/8f66fd952eaffeaf3107