IEnumerator MainBehaviour() { //Mapping StartCoroutine(mappingBehaviour.MapSurroundings(facingDirection)); //Showing Map // yield return(StartCoroutine(nodeGraphVisualizer.GenerateGraph(nodeTable.GetNodesList()))); //Thinking NodeIndex newNodeIndex = aiBrain.Think(); yield return(new WaitForSeconds(thinkingTime)); //Moving yield return(StartCoroutine(RotateAI(GetNewFacingDirection(nodeTable.GetCurrentNodeIndex(), newNodeIndex)))); yield return(StartCoroutine(AIMovement.GoForward(this.transform, movementTime))); nodeTable.SetCurrentNodeIndex(newNodeIndex); StartCoroutine(MainBehaviour()); }