private void ParseWrapHref(string value, RichContent content) { mLabel.gameObject.SetActive(true); value = value.Replace("\n", ""); NGUIText.fontSize = mLabel.fontSize; NGUIText.finalSize = mLabel.fontSize; NGUIText.dynamicFont = mLabel.trueTypeFont; NGUIText.rectWidth = (int)(maxWidth - mPositionX); NGUIText.maxLines = 10000; NGUIText.rectHeight = 10000; string sbstr = ""; NGUIText.WrapText(value, out sbstr); if (string.IsNullOrEmpty(sbstr)) { SetCurrWidth(mPositionX); mPositionX = mLabeltemp_x; mPositionY = mPositionY - cellHeight - m_dy - cellHeight + NGUIText.fontSize; m_dy = 0; //iswrap = true; ParseWrapHref(value, content); return; } GameObject labelgo = NGUITools.AddChild(mWidget.gameObject, mLabel.gameObject); labelgo.SetActive(true); UILabel label = labelgo.GetComponent <UILabel>(); labelgo.transform.localPosition = new Vector3(mPositionX, mPositionY, 0); UIDragScrollView dragScrollview = UtilTools.SafeAddComponent <UIDragScrollView>(labelgo); UIButtonColor btnColor = UtilTools.SafeAddComponent <UIButtonColor>(labelgo); btnColor.duration = 0.1f; btnColor.defaultColor = UtilTools.GetColorByLinkType(content); UILinkText linkText = UtilTools.SafeAddComponent <UILinkText>(labelgo); linkText.args = content.args; linkText.linktype = content.linktype; if (content.linktype == LinkType.AUDIO) { label.color = textColor; } else { label.color = UtilTools.GetColorByLinkType(content); } int index = sbstr.IndexOf("\n"); string str = ""; if (index > -1) { str = sbstr.Substring(0, index); label.text = str; BoxCollider boxcollider = UtilTools.SafeAddComponent <BoxCollider>(labelgo); boxcollider.size = new Vector3(label.width, label.height, 0); boxcollider.center = new Vector3(label.width * 0.5f, -label.height * 0.5f, 0); SetCurrWidth(mPositionX + label.width); mPositionX = mLabeltemp_x; mPositionY = mPositionY - cellHeight - m_dy - cellHeight + NGUIText.fontSize; m_dy = 0; //iswrap = true; sbstr = sbstr.Remove(0, str.Length); ParseWrapHref(sbstr, content); } else { str = sbstr; label.text = str; BoxCollider boxcollider = UtilTools.SafeAddComponent <BoxCollider>(labelgo); boxcollider.size = new Vector3(label.width, label.height, 0); boxcollider.center = new Vector3(label.width * 0.5f, -label.height * 0.5f, 0); int lastLabelwidth = label.width; mPositionX += lastLabelwidth; SetCurrWidth(mPositionX); } }