Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ParseMessage()

static List< TextSnippet > Terraria.UI.Chat.ChatManager.ParseMessage ( string text,
Color baseColor )
inlinestatic

Definition at line 72 of file ChatManager.cs.

73 {
74 text = text.Replace("\r", "");
75 MatchCollection matchCollection = Regexes.Format.Matches(text);
77 int num = 0;
78 foreach (Match item in matchCollection)
79 {
80 if (item.Index > num)
81 {
82 list.Add(new TextSnippet(text.Substring(num, item.Index - num), baseColor));
83 }
84 num = item.Index + item.Length;
85 string value = item.Groups["tag"].Value;
86 string value2 = item.Groups["text"].Value;
87 string value3 = item.Groups["options"].Value;
88 ITagHandler handler = GetHandler(value);
89 if (handler != null)
90 {
91 list.Add(handler.Parse(value2, baseColor, value3));
92 list[list.Count - 1].TextOriginal = item.ToString();
93 }
94 else
95 {
96 list.Add(new TextSnippet(value2, baseColor));
97 }
98 }
99 if (text.Length > num)
100 {
101 list.Add(new TextSnippet(text.Substring(num, text.Length - num), baseColor));
102 }
103 return list;
104 }
static ITagHandler GetHandler(string tagName)

References Terraria.UI.Chat.ChatManager.Regexes.Format, Terraria.UI.Chat.ChatManager.GetHandler(), System.item, System.list, Terraria.UI.Chat.ITagHandler.Parse(), System.text, and System.value.

Referenced by Terraria.UI.Chat.ChatManager.DrawColorCodedStringWithShadow(), Terraria.Main.DrawNetplayStatusText(), Terraria.Main.DrawPlayerChat(), Terraria.GameContent.UI.Elements.UIText.DrawSelf(), Terraria.Main.GetInputText(), Terraria.UI.Chat.ChatManager.GetStringSize(), Terraria.Player.OverheadMessage.NewMessage(), Terraria.GameContent.UI.Chat.LegacyChatMonitor.NewTextInternal(), and Terraria.Utils.WordwrapStringSmart().