Exemple #1
0
 void Update()
 {
     if (headerTextInput.isFocused)
     {
         headerTextInputLayout.preferredWidth = headerTextInputTextField.GetPreferredValues(headerTextInput.text).x;
     }
 }
Exemple #2
0
    private IEnumerator fade()
    {
        while (true)
        {
            if (fadeProgress <= 0)
            {
                currentObject = targetObject;
                if (targetObject != null)
                {
                    string newMessage = InputManager.instance.INTERACT.ToString() + ": " + targetObject.message;
                    textObject.text         = newMessage;
                    rectTransform.offsetMax = (textObject.GetPreferredValues(newMessage) + new Vector2(4, 4)) * new Vector2(1, 0);
                    transform.position      = targetObject.transform.position;
                }
            }

            if (currentObject != targetObject || targetObject == null)
            {
                if (fadeProgress > 0)
                {
                    fadeProgress -= Time.deltaTime;
                }
            }
            else if (fadeProgress < fadeTime)
            {
                fadeProgress += Time.deltaTime;
            }

            backgroundPanel.color = Color.Lerp(Color.clear, backgroundColor, fadeProgress / fadeTime);
            textObject.color      = Color.Lerp(Color.clear, textColor, fadeProgress / fadeTime);

            yield return(null);
        }
    }
    private void AddText(string text, int indent)
    {
        if (ContentRect != null)
        {
            float panelWidth = ContentRect.rect.width;

            if (text != null)
            {
                TMPro.TextMeshProUGUI obj = Instantiate(LogTextPrefab);
                var margin = obj.margin;
                margin.x   = indent * 10;
                obj.margin = margin;
                obj.SetText(text);
                obj.transform.SetParent(Content.transform);
                float preferredHeight = obj.GetPreferredValues(panelWidth - margin.x, 0f).y;
                obj.rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, preferredHeight);
                this.contentHeight += preferredHeight;
                ContentRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, this.contentHeight);
                obj.rectTransform.localScale    = Vector3.one;
                obj.rectTransform.localRotation = Quaternion.identity;
                var pos = obj.rectTransform.localPosition;
                pos.z = 0f;
                obj.rectTransform.localPosition = pos;
                Items.Add(obj);
                //Dirty = true;
                Invoke("ScrollToBottom", 0.1f);
            }
        }
    }
Exemple #4
0
    public void setText(string _text)
    {
        text.SetText(_text);
        Vector2 size = text.GetPreferredValues(_text);

        rectTransform.sizeDelta = new Vector2(size.x + 20.0f, rectTransform.sizeDelta.y);
    }
    public void SetText(string _text)
    {
        gameObject.SetActive(_text.Length != 0);

        textField.text          = _text;
        rectTransform.sizeDelta = textField.GetPreferredValues(_text) + Vector2.one * TEXT_PADDING;;//newScale;

        if (gameObject.activeSelf)
        {
            Update();
        }
    }
Exemple #6
0
    /// <summary>
    /// Updates the offset of the predicted text.
    /// </summary>
    private void UpdatePredictionObjectOffset()
    {
        Vector2 position = new Vector2(0f, _predictionTransform.anchoredPosition.y);

        if (string.IsNullOrEmpty(_inputField.text) == false)
        {
            Vector2 values = _inputText.GetPreferredValues();
            position = new Vector2(values.x, _predictionTransform.anchoredPosition.y);
        }

        _predictionTransform.anchoredPosition = position;
    }
    private IEnumerator fade()
    {
        isFading = true;
        while (true)
        {
            if (currentText != queuedText)
            {
                if (fadeProgress > 0)
                {
                    fadeDirection = -1;
                }
                else
                {
                    currentText             = queuedText;
                    textObject.text         = currentText;
                    rectTransform.sizeDelta = textObject.GetPreferredValues(currentText) + new Vector2(8, 8);
                    fadeDirection           = 1;
                }
            }
            else
            {
                if (targetVisibility)
                {
                    if (fadeProgress >= fadeTime)
                    {
                        break;
                    }
                }
                else
                {
                    if (fadeProgress <= 0)
                    {
                        break;
                    }
                }
            }

            fadeProgress += Time.deltaTime * fadeDirection;

            backgroundPanel.color = Color.Lerp(Color.clear, backgroundColor, fadeProgress / fadeTime);
            textObject.color      = Color.Lerp(Color.clear, textColor, fadeProgress / fadeTime);

            yield return(null);
        }
        fadeProgress = Mathf.Clamp(fadeProgress, 0, fadeTime);
        isFading     = false;
    }
Exemple #8
0
    private void OnContextSet(GameObject a_object)
    {
        if (_contextText == null || a_object == null)
        {
            _contextRect.gameObject.SetActive(false);
            return;
        }

        if (_contextRect.gameObject.activeSelf == false)
        {
            _contextRect.gameObject.SetActive(true);
        }

        _contextText.text = a_object.name + " : " + a_object.tag + " : " + a_object.GetInstanceID();
        Vector2 newValues = _contextText.GetPreferredValues();

        _contextRect.sizeDelta = new Vector2(newValues.x + 20f, _contextRect.sizeDelta.y);
    }
Exemple #9
0
    public void SetText(string text)
    {
        textMesh.GetComponent <UnityEngine.UI.LayoutElement>().preferredWidth = maxWidth;
        textMesh.rectTransform.sizeDelta.Set(maxWidth, 100);
        textMesh.SetText(text);
        var bounds = textMesh.GetPreferredValues();

        //textMesh.ForceMeshUpdate();

        //Debug.Log(bounds);
        //bounds.x += 2*marginX;
        //bounds.y += 2*marginY;
        //image.rectTransform.sizeDelta = bounds;
        textMesh.GetComponent <UnityEngine.UI.LayoutElement>().preferredWidth = Mathf.Min(maxWidth, bounds.x);

        if (secondsPerCharacter > 0)
        {
            textMesh.maxVisibleCharacters = 1;
            textBuildDelta = 0f;
        }
    }
Exemple #10
0
    // Late update gets an earlier call than update for this
    // This should only need to run once, although it currently runs every frame.
    private void LateUpdate()
    {
        thisText = GetComponent <TMPro.TextMeshProUGUI>();
        if (referenceText == null)
        {
            foreach (TMPro.TextMeshProUGUI tmpu in transform.parent.GetComponentsInChildren <TMPro.TextMeshProUGUI>())
            {
                if (tmpu != thisText)
                {
                    referenceText = tmpu;
                    break;
                }
            }
        }
        linkedLayout    = referenceText.linkedTextComponent.GetComponent <LayoutElement>();
        referenceLayout = referenceText.GetComponent <LayoutElement>();

        if (limit)
        {
            if (count >= runs)
            {
                return;
            }
        }
        // Remove bold xml to get the proper first character
        var refText   = referenceText.text.Replace("<b>", "").Replace("</b>", "");
        var firstText = refText.Substring(0, referenceText.linkedTextComponent.firstVisibleCharacter);

        if (referenceLayout.preferredHeight <= 1)
        {
            var firstWidth  = referenceText.rectTransform.rect.width;
            var firstHeight = referenceText.rectTransform.rect.height;
            while (referenceText.GetPreferredValues(firstText, firstWidth, 0).y < firstHeight)
            {
                firstText += '\n';
            }
            referenceLayout.preferredHeight = referenceText.GetPreferredValues(firstText, firstWidth, 0).y;

            // Recalculate first character for linkedText based on new height of reference
            firstText = refText.Substring(0, referenceText.linkedTextComponent.firstVisibleCharacter);
            while (referenceText.GetPreferredValues(firstText, firstWidth, 0).y <= referenceLayout.preferredHeight && firstText.Length < refText.Length)
            {
                firstText += refText[referenceText.linkedTextComponent.firstVisibleCharacter++];
            }
            referenceText.linkedTextComponent.firstVisibleCharacter--;
        }

        thisText.text = refText.Substring(referenceText.linkedTextComponent.firstVisibleCharacter);
        if (referenceText.rectTransform.rect.height < referenceText.preferredHeight)
        {
            linkedLayout.preferredHeight = referenceText.linkedTextComponent.GetPreferredValues(thisText.text, referenceText.linkedTextComponent.rectTransform.rect.width, 0).y;
        }
        else
        {
            linkedLayout.preferredHeight = 0;
        }
        referenceText.linkedTextComponent.fontSize++;
        referenceText.linkedTextComponent.fontSize--;
        referenceText.fontSize++;
        referenceText.fontSize--;
        count++;
    }