using Microsoft.Xna.Framework; using System.Collections.Generic; namespace Barotrauma { public class RichTextData { public int StartIndex, EndIndex; public Color? Color; public string Metadata; private const char definitionIndicator = '‖'; private const char attributeSeparator = ';'; private const char keyValueSeparator = ':'; //private const char lineChangeIndicator = '\n'; private const string colorDefinition = "color"; private const string metadataDefinition = "metadata"; private const string endDefinition = "end"; public static List GetRichTextData(string text, out string sanitizedText) { List textColors = null; sanitizedText = text; if (!string.IsNullOrEmpty(text) && text.Contains(definitionIndicator)) { string[] segments = text.Split(definitionIndicator); sanitizedText = string.Empty; textColors = new List(); RichTextData tempData = null; int prevIndex = 0; int currIndex = 0; for (int i=0;i