public void DLine_FromYarnLine_TitleCaseFace() { line.text = "Nora (Happy): Test."; DLine dLine = DLine.FromYarnLine(line); Assert.AreEqual("Nora", dLine.name); Assert.AreEqual("Happy", dLine.face); Assert.AreEqual("Test.", dLine.text); }
public void DLine_FromYarnLine_WordsWithColonsAndParens() { line.text = "Nora (Sad): Test Test (Test): More test."; DLine dLine = DLine.FromYarnLine(line); Assert.AreEqual("Nora", dLine.name); Assert.AreEqual("Sad", dLine.face); Assert.AreEqual("Test Test (Test): More test.", dLine.text); }
public void DLine_FromYarnLine_Default() { line.text = "Henry: Test"; DLine dLine = DLine.FromYarnLine(line); Assert.AreEqual("Henry", dLine.name); Assert.AreEqual("Default", dLine.face); Assert.AreEqual("Test", dLine.text); }
public void DLine_FromYarnLine_Pause() { line.text = "Nora (Happy) <nopause>: Test."; DLine dLine = DLine.FromYarnLine(line); Assert.AreEqual("Nora", dLine.name); Assert.AreEqual("Happy", dLine.face); Assert.AreEqual("Test.", dLine.text); Assert.AreEqual(false, dLine.pause); }
public void DLine_FromYarnLine_Jitter() { line.text = "Nora (Happy) <jitter=1.5>: Test."; DLine dLine = DLine.FromYarnLine(line); Assert.AreEqual("Nora", dLine.name); Assert.AreEqual("Happy", dLine.face); Assert.AreEqual("Test.", dLine.text); Assert.AreEqual(1.5f, dLine.jitter); }
public void DLine_FromYarnLine_Speed() { line.text = "Nora (Happy) <speed=1.5>: Test."; DLine dLine = DLine.FromYarnLine(line); Assert.AreEqual("Nora", dLine.name); Assert.AreEqual("Happy", dLine.face); Assert.AreEqual("Test.", dLine.text); Assert.AreEqual(1.5f, dLine.speed); }
public void DLine_FromYarnLine_ClearText() { line.text = "Nora (Happy) <nocleartext>: Test."; DLine dLine = DLine.FromYarnLine(line); Assert.AreEqual("Nora", dLine.name); Assert.AreEqual("Happy", dLine.face); Assert.AreEqual("Test.", dLine.text); Assert.AreEqual(false, dLine.clear_text); }
public void DLine_FromYarnLine_WaitAndClear() { line.text = "Nora (Happy) <nocleartext; wait=1.5>: Test."; DLine dLine = DLine.FromYarnLine(line); Assert.AreEqual("Nora", dLine.name); Assert.AreEqual("Happy", dLine.face); Assert.AreEqual("Test.", dLine.text); Assert.AreEqual(false, dLine.clear_text); Assert.AreEqual(1.5f, dLine.wait); }
/// Show a line of dialogue, gradually public override IEnumerator RunLine(Yarn.Line line) { // Convert line text to DLine DLine dLine = DLine.FromYarnLine(line); if (cinematic_mode) { dLine.pause = false; // Set default wait time if not defined if (dLine.wait <= 0) { dLine.wait = 1; } } nameText.text = dLine.name; portraitImage.sprite = dLine.GetFace(); // Show the text if (dLine.clear_text) { lineText.text = ""; } else { last_text = lineText.text; } lineText.gameObject.SetActive(true); talkButtonPressed = false; ShowCanvas(); if (dLine.speed > 0.0f) { // Display the line one character at a time var stringBuilder = new StringBuilder(); foreach (char c in dLine.text) { // Detect keypress to skip text animation if (talkButtonPressed) { break; } stringBuilder.Append(c); lineText.text = stringBuilder.ToString(); yield return(new WaitForSeconds(dLine.speed)); } } // Display the line immediately if textSpeed == 0 if (dLine.clear_text) { lineText.text = dLine.text; } else { lineText.text = last_text + dLine.text; } if (dLine.pause) { talkButtonPressed = false; // Delay before showing continue prompt for (int i = 0; i < 10; i++) { if (talkButtonPressed == true) { break; } yield return(new WaitForSeconds(0.1f)); } // Show the 'press any key' prompt when done, if we have one if (!talkButtonPressed && continuePrompt != null) { continuePrompt.SetActive(true); } // Wait for any user input while (!talkButtonPressed) { yield return(null); } if (continuePrompt != null) { continuePrompt.SetActive(false); } } else { if (dLine.wait > 0) { yield return(new WaitForSeconds(dLine.wait)); } } // Hide the text and prompt lineText.gameObject.SetActive(false); }