/// <summary> /// Changes the last shown text to the given text. /// </summary> public static void ChangeLastText(string text) { var data = DataHolder.TerminalData; if (data.Batching) { if (data.BatchEntries.Count == 0) { ShowText(text); } else { var entry = SList.Peek(data.BatchEntries); DebugUtil.Assert(entry.Texts.Length > 1, "Changing last text as a single text but last text is not a single text!"); entry.Texts[0] = text; } } else { var allEntries = DataHolder.TerminalData.AllEntries; if (allEntries.Count == 0) { ShowText(text); } else { var lastEntry = SList.Peek(allEntries); DebugUtil.Assert(lastEntry.EntryType != TerminalEntryType.SingleText, "Changing last text as a single text but last text is not a single text!"); var textEntry = lastEntry.SceneObject.GetComponent <SingleTextEntry>(); textEntry.TextComponent.text = text; } } }