WanderState.Wander C# (CSharp) Method

Wander() private method

private Wander ( ) : void
return void
    private void Wander()
    {
        wanderTime += Time.deltaTime;
        // critter.meshRendererFlag.material.color = Color.cyan;
        if ((critter.transform.position.x <= -12.5f || critter.transform.position.x >= 12f) ||
            (critter.transform.position.z <= -9 || critter.transform.position.z >= 9f  ))
        {
            SetDurations();
            ReturnToOrigin();
            Application.ExternalCall("DebugMessage", "" + critter.ID.ToString() + " is out of range!! " + critter.transform.position.ToString() );

        } else if ( critter.navMeshAgent.remainingDistance <= critter.navMeshAgent.stoppingDistance && !critter.navMeshAgent.pathPending)
        {
            direction = Random.insideUnitSphere * critter.maxWalkDistance;
            direction += critter.transform.position;

            // Sample the provided Mesh Area and get the nearest point
            NavMesh.SamplePosition( direction, out hit, Random.Range( 0f, critter.maxWalkDistance), MeshArea  );

            critter.navMeshAgent.SetDestination( hit.position );
            // Debug.Log (" Pick a point! " + critter.ID.ToString() + position);

        }
        Debug.Log(""+critter.ID.ToString() + "" + critter.transform.position.ToString());
        if ( wanderTime >= wanderDuration )
        {
            ToIdleState();
        }
    }