IEnumerator Roam() { int rotTime = Random.Range(1, 2); int rotateWait = Random.Range(1, 4); int rotateLorR = Random.Range(0, 3); int walkWait = Random.Range(1, 4); int walkTime = Random.Range(3, 8); isRoaming = true; yield return(new WaitForSeconds(walkWait)); isWalking = true; yield return(new WaitForSeconds(walkTime)); isWalking = false; yield return(new WaitForSeconds(rotateWait)); if (rotateLorR <= 1) { isRotatingRight = true; yield return(new WaitForSeconds(rotTime)); isRotatingRight = false; } if (rotateLorR >= 2) { isRotatingLeft = true; yield return(new WaitForSeconds(rotTime)); isRotatingLeft = false; } isRoaming = false; stateManager.setState(); roamCoroutine = false; // halo.enabled = false; }