Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Text;
- using UnityEngine;
- namespace Utility
- {
- public static class StringBuilderExtensions
- {
- public const int DefaultSize = 12;
- public static readonly Color DefaultColor = new Color(1f, 0.5f, 0.0f);
- public static StringBuilder AppendBeginTag(this StringBuilder sb, string key)
- {
- return sb
- .Append('<')
- .Append(key)
- .Append('>');
- }
- public static StringBuilder AppendBeginTag(this StringBuilder sb, string key, string value)
- {
- return sb
- .Append('<')
- .Append(key)
- .Append('=')
- .Append(value)
- .Append('>');
- }
- public static StringBuilder AppendEndTag(this StringBuilder sb, string key)
- {
- return sb
- .Append("</")
- .Append(key)
- .Append('>');
- }
- public static StringBuilder AppendBeginSizeTag(this StringBuilder sb, int size = DefaultSize)
- {
- return sb.AppendBeginTag("size", size.ToString());
- }
- public static StringBuilder AppendEndSizeTag(this StringBuilder sb)
- {
- return sb.AppendEndTag("size");
- }
- public static StringBuilder AppendBeginColorTag(this StringBuilder sb, Color color)
- {
- return sb.AppendBeginTag("color", $"#{ColorUtility.ToHtmlStringRGB(color)}");
- }
- public static StringBuilder AppendEndColorTag(this StringBuilder sb)
- {
- return sb.AppendEndTag("color");
- }
- public static StringBuilder AppendWithColor(this StringBuilder sb, string value, Color color = default)
- {
- if (color == default) color = DefaultColor;
- return sb
- .AppendBeginColorTag(color)
- .Append(value)
- .AppendEndColorTag();
- }
- public static StringBuilder Log(this StringBuilder sb)
- {
- Debug.Log(sb.ToString());
- return sb;
- }
- public static StringBuilder Log(this StringBuilder sb, params string[] tags)
- {
- sb.AppendLine(Environment.NewLine);
- foreach (var tag in tags)
- sb.Append('[').Append(tag).Append("] ");
- return sb.AppendLine().Log();
- }
- public static string AcquireAndClear(this StringBuilder sb)
- {
- var value = sb.ToString();
- sb.Clear();
- return value;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement