public static List <TsLog.LogData.StackInfo> CreateStackInfo(string fullStack)
        {
            List <TsLog.LogData.StackInfo> list = new List <TsLog.LogData.StackInfo>();

            if (!string.IsNullOrEmpty(fullStack))
            {
                string[] array      = fullStack.Split(TsLog.LogData.SEP, StringSplitOptions.None);
                string   text       = string.Empty;
                string   methodName = string.Empty;
                string   text2      = string.Empty;
                string   text3      = string.Empty;
                for (int i = 0; i < array.Length; i++)
                {
                    text = array[i];
                    if (!text.Contains("Debug:Log") && !text.Contains("TsLog:Log") && !text.Contains("TsLog:Ass") && !text.Contains("TsLog:Exc"))
                    {
                        int num = text.LastIndexOf(TsLog.LogData.FileName_Sep1);
                        if (num != -1)
                        {
                            methodName = text.Substring(0, num);
                            text2      = text.Substring(num + TsLog.LogData.FileName_Sep1.Length);
                            num        = text2.LastIndexOf(TsLog.LogData.FileName_Sep2);
                            if (num != -1)
                            {
                                text3 = text2.Substring(num + TsLog.LogData.FileName_Sep2.Length);
                                text3 = text3.Remove(text3.Length - 1, 1);
                                int lineNum;
                                if (int.TryParse(text3, out lineNum))
                                {
                                    text2 = text2.Remove(num + 1);
                                    TsLog.LogData.StackInfo item = new TsLog.LogData.StackInfo(text2, methodName, lineNum);
                                    list.Add(item);
                                }
                            }
                        }
                    }
                }
            }
            return(list);
        }
    public static void Assert(bool condition)
    {
        if (condition)
        {
            return;
        }
        if (!TsLog.EnableLogType(TsLog.ELogType.Assert))
        {
            return;
        }
        string fullStack = StackTraceUtility.ExtractStackTrace();
        List <TsLog.LogData.StackInfo> list = TsLog.LogData.CreateStackInfo(fullStack);

        if (list.Count <= 0)
        {
            return;
        }
        TsLog.LogData.StackInfo stackInfo = list[0];
        string text = string.Format("Assert~! {0}  [ {1} : {2} ]", stackInfo.methodName, stackInfo.fileName, stackInfo.lineNum);

        Debug.LogError(text);
        TsLog.Instance._assertLog.Add(text);
    }