Example #1
0
    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;
    }