public virtual PUTMPro AddTextWithOptions(PUGameObject container, string content, string fontPath, Color color, float fontScale, string style, TMPro.TextAlignmentOptions alignment)
    {
        if (currentY != 0) {
            currentY -= paragraphSpacing ();
        }

        float maxWidth = container.size.Value.x - (padding.left + padding.right);

        PUTMPro text = new PUTMPro ();
        text.SetFrame (padding.left, currentY - padding.top, maxWidth, 0, 0, 1, "top,left");
        text.font = fontPath;
        text.fontColor = color;
        text.fontStyle = style;
        text.fontSize = (int)(DefaultFontSize()*fontScale);
        text.sizeToFit = true;
        text.alignment = alignment;
        text.value = content;

        if (urlLinks.Count > 0) {
            string[] linkURLs = urlLinks.ToArray();
            text.OnLinkClickAction = (linkText,linkIdx) => {
                OpenLink(linkURLs[linkIdx]);
            };
            urlLinks.Clear();
        }

        text.LoadIntoPUGameObject (container);

        Vector2 size = text.CalculateTextSize (content, maxWidth);
        text.rectTransform.sizeDelta = size;

        currentY -= text.rectTransform.sizeDelta.y + padding.bottom;

        return text;
    }
Exemple #2
0
 /// <summary> Toggle TextMeshPro and GridLines objects</summary>
 public void ToggleGridHelper()
 {
     if (gridLinesExist && gridTMProExist)
     {
         if (gridLines[0].activeInHierarchy == true)
         {
             foreach (GameObject line in gridLines)
             {
                 line.SetActive(false);
             }
             foreach (GameObject TMPro in gridTMPro)
             {
                 TMPro.SetActive(false);
             }
         }
         else
         {
             foreach (GameObject line in gridLines)
             {
                 line.SetActive(true);
             }
             foreach (GameObject TMPro in gridTMPro)
             {
                 TMPro.SetActive(true);
             }
         }
     }
 }