//Intro private IEnumerator Typewrite(DialogScene currentScene, float writeSpeed) { string currentWord = ""; int index = 0; while (currentWord.Length < currentScene.text.Length) { canWrite = false; currentWord += currentScene.text[index]; currentScene.currentTextField.text = currentWord; OnLetterWritten?.Invoke(); if (index > 1 && currentScene.text[index] == ' ' && currentScene.text[index - 1] == '.') { yield return(new WaitForSeconds(writeSpeed * pauseTimeAtDot)); } else { yield return(new WaitForSeconds(writeSpeed)); } index++; } yield return(new WaitForSeconds(currentScene.afterTextDelay)); canWrite = true; }
//Dialogi private IEnumerator Typewrite(DialogScene currentScene, string author) { char sign = ' '; int index = 0; goalSentence = currentScene.text; currentSentence = ""; if (currentScene.overrideDialog) { currentScene.currentTextField.text = ""; } if (author[0] != '0') { currentScene.currentTextField.text += "<br><br>" + author + "<br><br>"; } while (currentSentence.Length < currentScene.text.Length) { canWrite = false; if (currentScene.text[index] == '^') { currentSentence += ' '; sign = ' '; yield return(new WaitForSeconds(longPause)); } else if (currentScene.text[index] == '&') { currentSentence += ' '; sign = ' '; AudioManager.Instance.PlaySound(currentScene.soundEvent); } else { currentSentence += currentScene.text[index]; sign = currentScene.text[index]; } currentScene.currentTextField.text += sign; OnLetterWritten?.Invoke(); if (index > 1 && currentScene.text[index] == ' ' && currentScene.text[index - 1] == '.') { yield return(new WaitForSeconds(writeSpeed * pauseTimeAtDot)); } else { yield return(new WaitForSeconds(writeSpeed)); } index++; } currentScene.currentTextField.text += "<br><br>" + currentScene.msgAfterScene + "<br>"; yield return(new WaitForSeconds(currentScene.afterTextDelay)); canWrite = true; }
// Narrator private IEnumerator Typewrite(DialogScene currentScene) { string currentWord = ""; int index = 0; while (currentWord.Length < currentScene.text.Length) { canWrite = false; if (currentScene.overrideDialog) { dialogTextField.text = ""; } if (currentScene.text[index] != '^' && currentScene.text[index] != '&') { currentWord += currentScene.text[index]; } else if (currentScene.text[index] == '^') { currentWord += ' '; yield return(new WaitForSeconds(longPause)); } else if (currentScene.text[index] == '&') { currentWord += ' '; AudioManager.Instance.PlaySound(currentScene.soundEvent); } currentScene.currentTextField.text = currentWord; OnLetterWritten?.Invoke(); if (index > 1 && currentScene.text[index] == ' ' && currentScene.text[index - 1] == '.') { yield return(new WaitForSeconds(writeSpeed * pauseTimeAtDot)); } else { yield return(new WaitForSeconds(writeSpeed)); } index++; } yield return(new WaitForSeconds(currentScene.afterTextDelay)); canWrite = true; currentScene.OnSceneFinished?.Invoke(); }