private IEnumerator Typewriter(ConsoleTextEntry queuedEntry) { string text = queuedEntry.Text.text; var timePerCharacter = timeToTypeText / text.Length; Queue <char> entryString = new Queue <char>(); foreach (char t in text) { entryString.Enqueue(t); } text = ""; queuedEntry.SetEntry(text, queuedEntry.TextColor); queuedEntry.gameObject.SetActive(true); while (entryString.Count > 0) { text += entryString.Dequeue(); queuedEntry.SetEntry(text, queuedEntry.TextColor); yield return(new WaitForSeconds(timePerCharacter)); } _textEntries.Add(queuedEntry); _typewriterRoutine = null; }
public void AddTextEntry(string text, Color color) { ConsoleTextEntry entryToQueue = Instantiate(_template, _template.transform.parent); entryToQueue.SetEntry(text, color); entryToQueue.gameObject.SetActive(false); _queuedTextEntries.Enqueue(entryToQueue); }