void FixTextSettings(ref TextSettings ts) { if (ts.horizontal < 0) { ts.horizontal = 0; } }
string ApplyTextSettings(string text, TextSettings settings) { string newString = text; if (text == "") { return(""); } //Formatting: if (settings.bold) { newString = "<b>" + newString + "</b>"; } if (settings.italic) { newString = "<i>" + newString + "</i>"; } if (settings.underline) { newString = "<u>" + newString + "</u>"; } if (settings.strike) { newString = "<s>" + newString + "</s>"; } //Custom Color: if (settings.customColor) { newString = "<color=#" + ColorUtility.ToHtmlStringRGBA(settings.color) + ">" + newString + "</color>"; } if (settings.mark) { newString = "<mark=#" + ColorUtility.ToHtmlStringRGBA(settings.markColor) + ">" + newString + "</mark>"; } if (settings.alpha < 1) { newString = "<alpha=#" + ColorUtility.ToHtmlStringRGBA(new Color(1, 1, 1, settings.alpha)).Substring(6) + ">" + newString + "<alpha=#FF>"; } //Change Size: if (settings.size > 0) { newString = "<size=+" + settings.size.ToString().Replace(',', '.') + ">" + newString + "</size>"; } else if (settings.size < 0) { newString = "<size=-" + Mathf.Abs(settings.size).ToString().Replace(',', '.') + ">" + newString + "</size>"; } //Character Spacing: if (settings.characterSpacing != 0) { newString = "<cspace=" + settings.characterSpacing.ToString().Replace(',', '.') + ">" + newString + "</cspace>"; } //Spacing: if (settings.horizontal > 0) { string space = "<space=" + settings.horizontal.ToString().Replace(',', '.') + "em>"; newString = space + newString + space; } if (settings.vertical != 0) { newString = "<voffset=" + settings.vertical.ToString().Replace(',', '.') + "em>" + newString + "</voffset>"; } if (settings.newLine) { newString += System.Environment.NewLine; } //Return: return(newString); }