//字符串网格控制 public override bool HandleTextMesh(URichTextParseInfo info) { if (info.vertStartIndex < 0) { return(false); } int vertEndIndex = GetVertEndIndex(info.vertStartIndex, endMsg); int vertStartIndex = info.vertStartIndex + preMsg.Length; //可以考虑用内存池,减少内存分配 var output = new List <UIVertex>(); vHelper.GetUIVertexStream(output); //绘制下划线 vHelper.Clear(); List <Rect> lineRects = richText.GetTextTiles(vertStartIndex, vertEndIndex, output); for (int i = 0; i < lineRects.Count; i++) { output.AddRange(URichTextUtil.GetUnderLineVerts(lineRects[i], vertEndIndex, richText.GetUnderLineInfo())); } //添加的顶点数组 vHelper.AddUIVertexTriangleStream(output); info.urlHrefInfo.m_tagTextRects.AddRange(lineRects); info.urlHrefInfo.strHrefEvent = info.values[1].ToString(); return(true); }
public static void Init() { if (_handler == null) { _handler = new URichTextHandler_URL(); URichTextUtil.AddHandler(_handler); } }
public override string HandleText(ref int addTextCount, string text, int startIndex, int endIndex, int length, GroupCollection group) { string strColor = m_defaultURLColor; //如果有匹配到 color=的话取匹配到的颜色 if (group.Count >= 2 && group[2].Length > 0) { strColor = group[2].Value.Remove(0, 1).ToString(); } strColor = strColor.Insert(strColor.IndexOf("=") + 1, "#"); string tmpPreMsg = string.Format(preMsg, strColor); text = URichTextUtil.ReplacePlaceHolder(tmpPreMsg, endMsg, text, startIndex, endIndex); return(text); }
//前期的字符串替换 public override string HandleText(ref int addTextCount, string text, int startIndex, int endIndex, int length, GroupCollection group) { text = URichTextUtil.ReplacePlaceHolder(preMsg, endMsg, text, startIndex, endIndex); return(text); }
//前期的字符串替换 public override string HandleText(ref int addTextCount, string text, int startIndex, int endIndex, int length, GroupCollection group) { text = URichTextUtil.ReplacePlaceHolder("<quad size=" + group[2].Value + " width=" + group[3].Value + " />", text, startIndex); return(text); }