void Update() { if (headerTextInput.isFocused) { headerTextInputLayout.preferredWidth = headerTextInputTextField.GetPreferredValues(headerTextInput.text).x; } }
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); } } }
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(); } }
/// <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; }
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); }
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; } }
// 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++; }