Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9703

【UniTask】ボタンの入力待ちをする

$
0
0
タイトル通りのことがやりたかったので備忘録です。 UniTaskを使用した際のボタンの入力待ちをする方法です。 UniTaskサンプルコード [SerializeField] private Button _button; private async UniTask Hoge() { // UnityEventを変換 var buttonEvent = _button.onClick.GetAsyncEventHandler(CancellationToken.None); // ボタンの入力待ち await buttonEvent.OnInvokeAsync(); Debug.Log("Fuga"); } コルーチンを使用した場合 ちなみにコルーチンを使用する場合はこんな感じでしょうか。 [SerializeField] private Button _button; private IEnumerator Hoge() { var isOk = false; _button.onClick.AddListener(() => isOk = true); yield return new WaitUntil(() => isOk); Debug.Log("Fuga"); } キーボードの入力待ちをする場合 補足ですが、ちなみにキーボードの入力待ちをする場合はこちら。 private async UniTask Hoge() { await UniTask.WaitUntil(() => Input.GetKeyDown(KeyCode.A)); Debug.Log("Fuga"); } こちらはUniTask使わずコルーチンでも同じようにできます。 private IEnumerator Hoge() { yield return new WaitUntil(() => Input.GetKeyDown(KeyCode.A)); Debug.Log("Fuga"); } 以上、入力待ちあれこれでした。

Viewing all articles
Browse latest Browse all 9703

Trending Articles