UniRx 에셋 추가
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
#pragma warning disable 0168
|
||||
#pragma warning disable 0219
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
|
||||
namespace UniRx.Examples
|
||||
{
|
||||
public class Sample07_OrchestratIEnumerator : MonoBehaviour
|
||||
{
|
||||
// two coroutines
|
||||
IEnumerator AsyncA()
|
||||
{
|
||||
Debug.Log("a start");
|
||||
yield return new WaitForSeconds(3);
|
||||
Debug.Log("a end");
|
||||
}
|
||||
|
||||
IEnumerator AsyncB()
|
||||
{
|
||||
Debug.Log("b start");
|
||||
yield return new WaitForEndOfFrame();
|
||||
Debug.Log("b end");
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
// after completed AsyncA, run AsyncB as continuous routine.
|
||||
// UniRx expands SelectMany(IEnumerator) as SelectMany(IEnumerator.ToObservable())
|
||||
var cancel = Observable.FromCoroutine(AsyncA)
|
||||
.SelectMany(AsyncB)
|
||||
.Subscribe();
|
||||
|
||||
// If you want to stop Coroutine(as cancel), call subscription.Dispose()
|
||||
// cancel.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma warning restore 0219
|
||||
#pragma warning restore 0168
|
||||
Reference in New Issue
Block a user