private IEnumerator FindAChair() { bool chairNotFound = true; while (chairNotFound) { RaycastHit[] hit; Debug.DrawRay(transform.position, transform.forward * 10, Color.yellow); hit = Physics.RaycastAll(transform.position, transform.forward * 10, 20); int i; for (i = 0; i < hit.Length; i++) { if (hit[i].collider != null && hit[i].collider.CompareTag("Chair")) { chair = hit[i].transform.gameObject.GetComponent <Chair>(); if (chair.IsAvailable()) { chairNotFound = false; AcquireChair(chair); MoveTowardTarget(chair.transform.position); StartCoroutine(WaitToSit()); break; } } } transform.Rotate(0, -4, 0); yield return(null); } }