2017-09-25 1 views
0

J'utilise Unity3D avec C#. Eh bien, j'ai un script de dialogue avec un foreach qui exécute la liste des phrases, j'ai besoin de savoir comment je peux savoir quand la première phrase se termine.Comment savoir quand la phrase du texte se termine par Unity en utilisant C#

Voici mon code:

public void StartDialogue(Dialogue dialogue) 
{ 
    //Debug.Log("Start conversation with " + dialogue.name); 
    cameradialogue.SetActive(true); 
    FindObjectOfType<ThirdPersonCharacter>().isStop = true; 
    DialogueBox.SetActive (true); 
    NameText.text = dialogue.name; 
    sentences.Clear(); 
    foreach (string sentence in dialogue.sentences) 
     sentences.Enqueue (sentence); 
    DisplayNextSentence(); 
} 

Voici ma méthode pour afficher mes setences:

IEnumerator TypeSentence (string sentence){ 
     dialogueText.text = ""; 
     foreach (char letter in sentence.ToCharArray()) { 
      dialogueText.text += letter; 
      yield return null; 
     } 
    } 
+0

Eh bien, comment affichez-vous vos phrases? Mot par mot? Lettre par lettre? À l'heure actuelle, vous ne savez pas très bien ce que vous voulez faire en fonction de la mise en œuvre que vous avez fournie. – Serlite

+0

@Serlite Je modifie le poste avec la méthode pour afficher mes phrases. –

+0

Vous devez mettre à jour votre question pour la rendre plus claire, par exemple Quand appelez-vous 'TypeSentence'? poster le script qui sont liés, –

Répondre

1

Lorsque la boucle foreach se terminera dans la méthode TypeSentence, cela signifie que la phrase complète a affiché dans le texte de la boîte de dialogue.