IEnumerator MoveToTalk(NpcAI npc) { myCharacter.SetDestination(npc.transform.position); while (!IsTargetInRange(npc.gameObject)) { yield return(new WaitForEndOfFrame()); } yield return(new WaitForEndOfFrame()); }
void OnMouseOverNPC(NpcAI npc) { if (Input.GetMouseButton(0) && IsTargetInRange(npc.gameObject)) { talkTo = npc.GetComponent <DialogueSystem>(); talkTo.Talk(npc.gameObject); } if (Input.GetMouseButton(0) && !IsTargetInRange(npc.gameObject)) { StartCoroutine(MoveAndTalk(npc)); } }
IEnumerator MoveAndTalk(NpcAI npc) { yield return(StartCoroutine(MoveToTalk(npc))); }