private static List <TypedTextSymbol> CreateSymbolListFromText(string text) { var symbolList = new List <TypedTextSymbol>(); int parsedCharacters = 0; while (parsedCharacters < text.Length) { TypedTextSymbol symbol = null; // Check for tags var remainingText = text.Substring(parsedCharacters, text.Length - parsedCharacters); if (RichTextTag.StringStartsWithTag(remainingText)) { var tag = RichTextTag.ParseNext(remainingText); symbol = new TypedTextSymbol(tag); } else { symbol = new TypedTextSymbol(remainingText.Substring(0, 1)); } parsedCharacters += symbol.Length; symbolList.Add(symbol); } return(symbolList); }
private static List <TypedTextSymbol> CreateSymbolListFromText(string text) { var symbolList = new List <TypedTextSymbol>(); int parsedCharacters = 0; while (parsedCharacters < text.Length) { TypedTextSymbol symbol = null; // Check for tags var remainingText = text.Substring(parsedCharacters, text.Length - parsedCharacters); if (RichTextTag.StringStartsWithTag(remainingText)) { var tag = RichTextTag.ParseNext(remainingText); symbol = new TypedTextSymbol(tag); } else if (RichTextTag.StringStartsWithMarkup(remainingText)) { var tag = RichTextTag.ParseMarkup(remainingText); symbol = new TypedTextSymbol(tag); if (tag == "{{player}}") { foreach (var letter in Player.Instance.entityName) { symbolList.Add(new TypedTextSymbol(letter.ToString())); } parsedCharacters += symbol.Length; continue; } } else { symbol = new TypedTextSymbol(remainingText.Substring(0, 1)); } parsedCharacters += symbol.Length; symbolList.Add(symbol); } return(symbolList); }