//private int loopCountB; //private int loopCountC; //private int loopCountD; //private int loopCountE; protected override void Awake() { //Debug.Log("Awake() called on Object ID " + GetInstanceID()); // Code to handle Compatibility related to the switch from Color32 to Color if (m_fontColor == Color.white && m_fontColor32 != Color.white) { Debug.LogWarning("Converting Vertex Colors from Color32 to Color.", this); m_fontColor = m_fontColor32; } m_textContainer = GetComponent<TextContainer>(); //if (m_textContainer == null) // m_textContainer = gameObject.AddComponent<TextContainer>(); // Cache Reference to the Mesh Renderer. m_renderer = GetComponent<Renderer>(); if (m_renderer == null) m_renderer = gameObject.AddComponent<Renderer>(); // Disable CanvasRenderer and hide it if (this.canvasRenderer != null) { this.canvasRenderer.hideFlags = HideFlags.HideInInspector; } // Cache Reference to RectTransform m_rectTransform = this.rectTransform; // Cache Reference to the transform; m_transform = this.transform; // Cache a reference to the Mesh Filter. m_meshFilter = GetComponent<MeshFilter>(); if (m_meshFilter == null) m_meshFilter = gameObject.AddComponent<MeshFilter>(); // Cache a reference to our mesh. if (m_mesh == null) { //Debug.Log("Creating new mesh."); m_mesh = new Mesh(); m_mesh.hideFlags = HideFlags.HideAndDontSave; m_meshFilter.mesh = m_mesh; //m_mesh.bounds = new Bounds(transform.position, new Vector3(1000, 1000, 0)); } m_meshFilter.hideFlags = HideFlags.HideInInspector; // Load TMP Settings for new text object instances. if (m_settings == null) m_settings = TMP_Settings.LoadDefaultSettings(); if (m_settings != null) { if (m_isNewTextObject) { m_enableWordWrapping = m_settings.enableWordWrapping; m_enableKerning = m_settings.enableKerning; m_enableExtraPadding = m_settings.enableExtraPadding; m_isNewTextObject = false; } m_warningsDisabled = m_settings.warningsDisabled; } // Load the font asset and assign material to renderer. LoadFontAsset(); // Allocate our initial buffers. m_char_buffer = new int[m_max_characters]; m_cached_TextElement = new TMP_Glyph(); //m_vertices = new Vector3[0]; // m_isFirstAllocation = true; m_textInfo = new TMP_TextInfo(this); // Check if we have a font asset assigned. Return if we don't because no one likes to see purple squares on screen. if (m_fontAsset == null) { Debug.LogWarning("Please assign a Font Asset to this " + transform.name + " gameobject.", this); return; } // Set Defaults for Font Auto-sizing if (m_fontSizeMin == 0) m_fontSizeMin = m_fontSize / 2; if (m_fontSizeMax == 0) m_fontSizeMax = m_fontSize * 2; //// Set flags to cause ensure our text is parsed and text redrawn. m_isInputParsingRequired = true; m_havePropertiesChanged = true; m_isCalculateSizeRequired = true; //ForceMeshUpdate(); // Force an update of the text object to pre-populate the TextInfo and Preferred values. }
//private int loopCountB; //private int loopCountC; //private int loopCountD; //private int loopCountE; void Awake() { //Debug.Log("Awake() called on Object ID " + GetInstanceID()); // Code to handle Compatibility related to the switch from Color32 to Color if (m_fontColor == Color.white && m_fontColor32 != Color.white) { Debug.LogWarning("Converting Vertex Colors from Color32 to Color.", this); m_fontColor = m_fontColor32; } m_textContainer = GetComponent<TextContainer>(); if (m_textContainer == null) m_textContainer = gameObject.AddComponent<TextContainer>(); // Cache Reference to the Mesh Renderer. m_renderer = GetComponent<Renderer>(); if (m_renderer == null) m_renderer = gameObject.AddComponent<Renderer>(); // Cache Reference to the transform; m_transform = gameObject.transform; // Cache a reference to the Mesh Filter. m_meshFilter = GetComponent<MeshFilter>(); if (m_meshFilter == null) m_meshFilter = gameObject.AddComponent<MeshFilter>(); // Cache a reference to our mesh. if (m_mesh == null) { //Debug.Log("Creating new mesh."); m_mesh = new Mesh(); m_mesh.hideFlags = HideFlags.HideAndDontSave; m_meshFilter.mesh = m_mesh; //m_mesh.bounds = new Bounds(transform.position, new Vector3(1000, 1000, 0)); } m_meshFilter.hideFlags = HideFlags.HideInInspector; // Load the font asset and assign material to renderer. LoadFontAsset(); // Allocate our initial buffers. m_char_buffer = new int[m_max_characters]; //m_parsedCharacters = new char[m_max_characters]; //m_lineExtents = new Mesh_Extents[m_max_numberOfLines]; m_cached_GlyphInfo = new GlyphInfo(); m_vertices = new Vector3[0]; // m_isFirstAllocation = true; m_textInfo = new TMP_TextInfo(); //m_fontAssetArray = new TextMeshProFont[16]; // Check if we have a font asset assigned. Return if we don't because no one likes to see purple squares on screen. if (m_fontAsset == null) { Debug.LogWarning("Please assign a Font Asset to this " + transform.name + " gameobject.", this); return; } // Set Defaults for Font Auto-sizing if (m_fontSizeMin == 0) m_fontSizeMin = m_fontSize / 2; if (m_fontSizeMax == 0) m_fontSizeMax = m_fontSize * 2; //// Set flags to cause ensure our text is parsed and text redrawn. isInputParsingRequired = true; m_havePropertiesChanged = true; ForceMeshUpdate(); // Added to force OnWillRenderObject() to be called in case object is not visible so we get initial bounds for the mesh. }