Hello everyone, I’m trying to make a iterative coroutine method, but I have been unsuccessful in getting the coroutine to iterate more than 1 time. I have gotten the type of behavior I’m looking for using the For loop Unity example before, so can iterating a coroutine only be done from a loop?
In the code below, the debug statements show that it is running fully 1 time, then ending.
IEnumerator ReturnRock ()
{
Debug.Log ("inside returnrock");
rockHeightTarget.x = transform.localPosition.x;
//rockHeightTarget.y = rockHeightTarget.y; //already assinged on awake
rockHeightTarget.z = transform.localPosition.z;
transform.localPosition = Vector3.MoveTowards (transform.localPosition, rockHeightTarget, rockRiseSpeed * Time.deltaTime);
if (Vector3.Distance (transform.localPosition, rockHeightTarget) > 0.1f)
{
Debug.Log ("returning to first coroutine line");
yield return null;
}
}