Unity/UniRx/コルーチン変換
提供: 初心者エンジニアの簡易メモ
2025年8月19日 (火) 13:08時点におけるAdmin (トーク | 投稿記録)による版 (Admin がページ「Unity/UniRx/コールチン変換」を「Unity/UniRx/コルーチン変換」に、リダイレクトを残さずに移動しました)
コルーチン変換
ToYieldInstructionを使えば、Observableをコルーチンに変換できる。ボタンを押したらendがログに出るサンプル
using System.Collections; using UnityEngine; using UniRx; using UnityEngine.UI; public class CoroutineScene : MonoBehaviour { Button button; void Start() { button = GameObject.Find("Button").GetComponent<Button>(); Exec(); } async void Exec() { await StartCoroutine(ExampleCoroutine()); Debug.Log("end"); } IEnumerator ExampleCoroutine() { yield return button .OnClickAsObservable() .FirstOrDefault() .ToYieldInstruction(); } }