private IEnumerator RunConversationCoroutine(Conversation conversation) { IsInProgress = true; Coroutine alignCoroutine = conversation.alignCharacters ? StartCoroutine(AlignCharactersCoroutine()) : null; if (conversation.controlCamera) camera.target = conversationTarget; foreach(DialogCard card in conversation.Cards()) { dialog.SetDialogQueue(card); dialog.DisplayNextCard(); while (dialog.IsDisplaying()) yield return null; yield return null; } if (alignCoroutine != null) StopCoroutine(alignCoroutine); camera.target = teaganFollowTarget; IsInProgress = false; }