/// <summary> /// Function to add a new sub text object. /// </summary> /// <param name="textComponent"></param> /// <param name="materialReference"></param> /// <returns></returns> public static TMP_SubMeshUI AddSubTextObject(TextMeshProUGUI textComponent, MaterialReference materialReference) { GameObject go = new GameObject("TMP UI SubObject [" + materialReference.material.name + "]", typeof(RectTransform)); go.transform.SetParent(textComponent.transform, false); go.layer = textComponent.gameObject.layer; RectTransform rectTransform = go.GetComponent <RectTransform>(); rectTransform.anchorMin = Vector2.zero; rectTransform.anchorMax = Vector2.one; rectTransform.sizeDelta = Vector2.zero; rectTransform.pivot = textComponent.rectTransform.pivot; TMP_SubMeshUI subMesh = go.AddComponent <TMP_SubMeshUI>(); subMesh.m_canvasRenderer = subMesh.canvasRenderer; subMesh.m_TextComponent = textComponent; subMesh.m_materialReferenceIndex = materialReference.index; subMesh.m_fontAsset = materialReference.fontAsset; subMesh.m_spriteAsset = materialReference.spriteAsset; subMesh.m_isDefaultMaterial = materialReference.isDefaultMaterial; subMesh.SetSharedMaterial(materialReference.material); return(subMesh); }
public static TMP_SubMeshUI AddSubTextObject(TextMeshProUGUI textComponent, MaterialReference materialReference) { GameObject gameObject = new GameObject("TMP UI SubObject [" + materialReference.material.name + "]", new Type[] { typeof(RectTransform) }); gameObject.transform.SetParent(textComponent.transform, false); gameObject.layer = textComponent.gameObject.layer; RectTransform component = gameObject.GetComponent <RectTransform>(); component.anchorMin = Vector2.zero; component.anchorMax = Vector2.one; component.sizeDelta = Vector2.zero; component.pivot = textComponent.rectTransform.pivot; TMP_SubMeshUI tmp_SubMeshUI = gameObject.AddComponent <TMP_SubMeshUI>(); tmp_SubMeshUI.m_canvasRenderer = tmp_SubMeshUI.canvasRenderer; tmp_SubMeshUI.m_TextComponent = textComponent; tmp_SubMeshUI.m_materialReferenceIndex = materialReference.index; tmp_SubMeshUI.m_fontAsset = materialReference.fontAsset; tmp_SubMeshUI.m_spriteAsset = materialReference.spriteAsset; tmp_SubMeshUI.m_isDefaultMaterial = materialReference.isDefaultMaterial; tmp_SubMeshUI.SetSharedMaterial(materialReference.material); return(tmp_SubMeshUI); }