private IEnumerator ThirdCoroutine(LayerCoroutine layer) { Debug.Log("ThirdCoroutine: Start"); yield return(layer.StartCoroutine(FourthCoroutine(layer))); Debug.Log("ThirdCoroutine: End"); }
private IEnumerator FourthCoroutine(LayerCoroutine layer) { Debug.Log("FourthCoroutine: Start"); yield return(new WaitForTest(2.0f)); Debug.Log("FourthCoroutine: End"); }
private IEnumerator FirstCoroutine(LayerCoroutine layer) { Debug.Log("FirstCoroutine: Start"); yield return(layer.StartCoroutine(SecondCoroutine(layer))); Debug.Log("FirstCoroutine: End"); }
private void Update() { if (Input.GetKeyDown(KeyCode.Space)) { Debug.Log("==== Stop and Start Coroutine ===="); layerRoutine = layerRoutine ?? new LayerCoroutine(this); layerRoutine.StopAllCoroutine(); layerRoutine.StartCoroutine(FirstCoroutine(layerRoutine)); } }