版权声明:[email protected] https://blog.csdn.net/cmdszh/article/details/83184223
想要中途退出Coroutine 使用 Yield break.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
public class CoroutineYieldTest : MonoBehaviour {
// Use this for initialization
void Start () {
StartCoroutine("stepsTest");
}
IEnumerator stepsTest()
{
yield return StartCoroutine("Test1");
yield return StartCoroutine("Test2");
}
IEnumerator Test1 () {
Debug.LogError("T1_0 "+DateTime.Now.ToString());
yield return 1;
Debug.LogError("T1_1 "+DateTime.Now.ToString());
yield return 0;
Debug.LogError("T1_2 "+DateTime.Now.ToString());
yield return true;
Debug.LogError("T1_3 "+DateTime.Now.ToString());
yield return false;
Debug.LogError("T1_4 "+DateTime.Now.ToString());
yield break;
Debug.LogError("T1_5 "+DateTime.Now.ToString());
}
IEnumerator Test2 () {
Debug.LogError("T2_0 "+DateTime.Now.ToString());
yield return 1;
Debug.LogError("T2_1 "+DateTime.Now.ToString());
yield return 0;
Debug.LogError("T3_2 "+DateTime.Now.ToString());
yield return true;
Debug.LogError("T4_3 "+DateTime.Now.ToString());
yield return false;
Debug.LogError("T5_4 "+DateTime.Now.ToString());
yield return null;
Debug.LogError("T6_5 "+DateTime.Now.ToString());
}
}