Esempio n. 1
0
 /// <summary>
 /// Applies the formatting recorded in formattingToApply by SetFormattedText().
 /// SetFormattedText() can't apply the formatting directly because it needs to
 /// run in OnGUI.
 /// </summary>
 protected void ApplyFormatting()
 {
     SetGUIStyle();
     if (!(isFormattingApplied || (formattingToApply == null)))
     {
         text                = formattingToApply.text;
         guiStyle            = UnityGUITools.ApplyFormatting(formattingToApply, guiStyle);
         isFormattingApplied = true;
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Draws the bark text using Unity GUI.
        /// </summary>
        public virtual void OnGUI()
        {
            GUI.skin = UnityGUITools.GetValidGUISkin(guiSkin);
            if (guiStyle == null)
            {
                guiStyle           = UnityGUITools.ApplyFormatting(formattingToApply, new GUIStyle(UnityGUITools.GetGUIStyle(guiStyleName, GUI.skin.label)));
                guiStyle.alignment = TextAnchor.UpperCenter;
                size = guiStyle.CalcSize(new GUIContent(message));
                if ((maxWidth >= 1) && (size.x > maxWidth))
                {
                    size = new Vector2(maxWidth, guiStyle.CalcHeight(new GUIContent(message), maxWidth));
                }
            }
            UpdateBarkPosition();
            guiStyle.normal.textColor = UnityGUITools.ColorWithAlpha(guiStyle.normal.textColor, alpha);
            if (screenPos.z < 0)
            {
                return;
            }
            Rect rect = new Rect(screenPos.x - (size.x / 2), (Screen.height - screenPos.y) - (size.y / 2), size.x, size.y);

            UnityGUITools.DrawText(rect, message, guiStyle, textStyle, textStyleColor);
        }