IEnumerator
유니티의 코루틴은 고유 문법
IEnumerator Coroutine(){
A{}
yield return new WaitForSeconds(0.01f); // 명시된 대기 시간만큼 대기한다. 이 때, 코드 밖으로 빠져나가 대기한다. 다시 실행될 때는 yield 코드부분에서부터 시작된다.
B{}
}
void Start(){
StartCoroutine("Coroutine"); // StartCoroutine(Coroutine());도 동일
}
void Start() {
StartCoroutine("HelloUnity");
StartCoroutine("HiCSharp");
}
IEnumerator HelloUnity()
{
Debug.Log("Hello");
yield return new WaitForSeconds(3f);
Debug.Log("Unity");
}
IEnumerator HiCSharp()
{
Debug.Log("Hi");
yield return new WaitForSeconds(5f);
Debug.Log("CSharp");
}
Hello
Hi
Unity
CSharp //5초가 걸림(not 8초)
순으로 처리된다. 즉, 병렬 처리가 가능하다.
StopCoroutine()