diff options
Diffstat (limited to 'Client/Assets/Scripts/XUtliPoolLib/XStringFormatHelper.cs')
-rw-r--r-- | Client/Assets/Scripts/XUtliPoolLib/XStringFormatHelper.cs | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/Client/Assets/Scripts/XUtliPoolLib/XStringFormatHelper.cs b/Client/Assets/Scripts/XUtliPoolLib/XStringFormatHelper.cs new file mode 100644 index 00000000..b6672b79 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XStringFormatHelper.cs @@ -0,0 +1,154 @@ +using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace XUtliPoolLib
+{
+ public class XStringFormatHelper
+ {
+ public static readonly char EscapedSeparator = '\u001f';
+
+ public static readonly char[] Separator = new char[]
+ {
+ XStringFormatHelper.EscapedSeparator
+ };
+
+ private static readonly char _cSeparator = '|';
+
+ private static readonly char _cLeftBracket = '[';
+
+ private static readonly char _EscapedLeftBracket = '\u0002';
+
+ private static readonly char _cRightBracket = ']';
+
+ private static readonly char _EscapedRightBracket = '\u0003';
+
+ private static readonly string _strSeparator = "|" + XStringFormatHelper._cSeparator.ToString();
+
+ private static readonly string _strLeftBracket = "|" + XStringFormatHelper._cLeftBracket.ToString();
+
+ private static readonly string _strRightBracket = "|" + XStringFormatHelper._cRightBracket.ToString();
+
+ private static readonly string _strEscapedSeparator = XStringFormatHelper.EscapedSeparator.ToString() ?? "";
+
+ private static readonly string _strEscapedLeftBracket = XStringFormatHelper._EscapedLeftBracket.ToString() ?? "";
+
+ private static readonly string _strEscapedRightBracket = XStringFormatHelper._EscapedRightBracket.ToString() ?? "";
+
+ private static StringBuilder _SB = new StringBuilder();
+
+ public static string FormatImage(string atlas, string sprite)
+ {
+ XStringFormatHelper._ResetSB();
+ XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("im=").Append(atlas).Append(XStringFormatHelper.EscapedSeparator).Append(sprite).Append(XStringFormatHelper._EscapedRightBracket);
+ return XStringFormatHelper._SB.ToString();
+ }
+
+ public static string FormatAnimation(string atlas, string sprite, int frameRate)
+ {
+ XStringFormatHelper._ResetSB();
+ XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("an=").Append(atlas).Append(XStringFormatHelper.EscapedSeparator).Append(sprite).Append(XStringFormatHelper.EscapedSeparator).Append(frameRate.ToString()).Append(XStringFormatHelper._EscapedRightBracket);
+ return XStringFormatHelper._SB.ToString();
+ }
+
+ public static string FormatGuild(string name, ulong uid)
+ {
+ XStringFormatHelper._ResetSB();
+ XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("gd=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(uid).Append(XStringFormatHelper._EscapedRightBracket);
+ return XStringFormatHelper._SB.ToString();
+ }
+
+ public static string FormatDragonGuild(string name, string dragonguildname)
+ {
+ XStringFormatHelper._ResetSB();
+ XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("dg=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(dragonguildname).Append(XStringFormatHelper._EscapedRightBracket);
+ return XStringFormatHelper._SB.ToString();
+ }
+
+ public static string FormatTeam(string name, int teamid, uint expid)
+ {
+ XStringFormatHelper._ResetSB();
+ XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("tm=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(teamid).Append(XStringFormatHelper.EscapedSeparator).Append(expid).Append(XStringFormatHelper._EscapedRightBracket);
+ return XStringFormatHelper._SB.ToString();
+ }
+
+ public static string FormatItem(string name, string itemquality, ulong uid)
+ {
+ XStringFormatHelper._ResetSB();
+ XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("it=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(itemquality).Append(XStringFormatHelper.EscapedSeparator).Append(uid).Append(XStringFormatHelper._EscapedRightBracket);
+ return XStringFormatHelper._SB.ToString();
+ }
+
+ public static string FormatName(string name, ulong uid, string color = "00ffff")
+ {
+ XStringFormatHelper._ResetSB();
+ XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("nm=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(color).Append(XStringFormatHelper.EscapedSeparator).Append(uid).Append(XStringFormatHelper._EscapedRightBracket);
+ return XStringFormatHelper._SB.ToString();
+ }
+
+ public static string FormatPk(string name, ulong uid)
+ {
+ XStringFormatHelper._ResetSB();
+ XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("pk=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(uid).Append(XStringFormatHelper._EscapedRightBracket);
+ return XStringFormatHelper._SB.ToString();
+ }
+
+ public static string FormatSpeactate(string name, int liveid, int type)
+ {
+ XStringFormatHelper._ResetSB();
+ XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("sp=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(liveid).Append(XStringFormatHelper.EscapedSeparator).Append(type).Append(XStringFormatHelper._EscapedRightBracket);
+ return XStringFormatHelper._SB.ToString();
+ }
+
+ public static string FormatUI(string name, ulong uid, List<ulong> paramList = null)
+ {
+ XStringFormatHelper._ResetSB();
+ XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("ui=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(uid);
+ bool flag = paramList != null;
+ if (flag)
+ {
+ for (int i = 0; i < paramList.Count; i++)
+ {
+ XStringFormatHelper._SB.Append(XStringFormatHelper.EscapedSeparator).Append(paramList[i]);
+ }
+ }
+ XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedRightBracket);
+ return XStringFormatHelper._SB.ToString();
+ }
+
+ private static void _ResetSB()
+ {
+ XStringFormatHelper._SB.Remove(0, XStringFormatHelper._SB.Length);
+ }
+
+ public static string Escape(string s)
+ {
+ XStringFormatHelper._ResetSB();
+ XStringFormatHelper._SB.Append(s);
+ XStringFormatHelper._Escape();
+ return XStringFormatHelper._SB.ToString();
+ }
+
+ private static void _Escape()
+ {
+ XStringFormatHelper._SB.Replace(XStringFormatHelper._strSeparator, XStringFormatHelper._strEscapedSeparator);
+ XStringFormatHelper._SB.Replace(XStringFormatHelper._strLeftBracket, XStringFormatHelper._strEscapedLeftBracket);
+ XStringFormatHelper._SB.Replace(XStringFormatHelper._strRightBracket, XStringFormatHelper._strEscapedRightBracket);
+ }
+
+ public static string UnEscape(string s)
+ {
+ XStringFormatHelper._ResetSB();
+ XStringFormatHelper._SB.Append(s);
+ XStringFormatHelper._UnEscape();
+ return XStringFormatHelper._SB.ToString();
+ }
+
+ private static void _UnEscape()
+ {
+ XStringFormatHelper._SB.Replace(XStringFormatHelper._strEscapedSeparator, XStringFormatHelper._strSeparator);
+ XStringFormatHelper._SB.Replace(XStringFormatHelper._strEscapedLeftBracket, XStringFormatHelper._strLeftBracket);
+ XStringFormatHelper._SB.Replace(XStringFormatHelper._strEscapedRightBracket, XStringFormatHelper._strRightBracket);
+ }
+ }
+}
|