コード例 #1
0
ファイル: TextMeshProUGUI.cs プロジェクト: fzlink/Isolation
        /// <summary>
        /// Function to upload the updated vertex data and renderer.
        /// </summary>
        public override void UpdateVertexData(TMP_VertexDataUpdateFlags flags)
        {
            int materialCount = m_textInfo.materialCount;

            for (int i = 0; i < materialCount; i++)
            {
                Mesh mesh;

                if (i == 0)
                {
                    mesh = m_mesh;
                }
                else
                {
                    // Clear unused vertices
                    // TODO: Causes issues when sorting geometry as last vertex data attribute get wiped out.
                    //m_textInfo.meshInfo[i].ClearUnusedVertices();

                    mesh = m_subTextObjects[i].mesh;
                }

                if ((flags & TMP_VertexDataUpdateFlags.Vertices) == TMP_VertexDataUpdateFlags.Vertices)
                {
                    mesh.vertices = m_textInfo.meshInfo[i].vertices;
                }

                if ((flags & TMP_VertexDataUpdateFlags.Uv0) == TMP_VertexDataUpdateFlags.Uv0)
                {
                    mesh.uv = m_textInfo.meshInfo[i].uvs0;
                }

                if ((flags & TMP_VertexDataUpdateFlags.Uv2) == TMP_VertexDataUpdateFlags.Uv2)
                {
                    mesh.uv2 = m_textInfo.meshInfo[i].uvs2;
                }

                //if ((flags & TMP_VertexDataUpdateFlags.Uv4) == TMP_VertexDataUpdateFlags.Uv4)
                //    mesh.uv4 = m_textInfo.meshInfo[i].uvs4;

                if ((flags & TMP_VertexDataUpdateFlags.Colors32) == TMP_VertexDataUpdateFlags.Colors32)
                {
                    mesh.colors32 = m_textInfo.meshInfo[i].colors32;
                }

                mesh.RecalculateBounds();

                if (i == 0)
                {
                    m_canvasRenderer.SetMesh(mesh);
                }
                else
                {
                    m_subTextObjects[i].canvasRenderer.SetMesh(mesh);
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Function to upload the updated vertex data and renderer.
        /// </summary>
        public override void UpdateVertexData(TMP_VertexDataUpdateFlags flags)
        {
            int materialCount = m_textInfo.materialCount;

            for (int i = 0; i < materialCount; i++)
            {
                Mesh mesh;

                if (i == 0)
                {
                    mesh = m_mesh;
                }
                else
                {
                    mesh = m_subTextObjects[i].mesh;
                }

                if ((flags & TMP_VertexDataUpdateFlags.Vertices) == TMP_VertexDataUpdateFlags.Vertices)
                {
                    mesh.vertices = m_textInfo.meshInfo[i].vertices;
                }

                if ((flags & TMP_VertexDataUpdateFlags.Uv0) == TMP_VertexDataUpdateFlags.Uv0)
                {
                    mesh.uv = m_textInfo.meshInfo[i].uvs0;
                }

                if ((flags & TMP_VertexDataUpdateFlags.Uv2) == TMP_VertexDataUpdateFlags.Uv2)
                {
                    mesh.uv2 = m_textInfo.meshInfo[i].uvs2;
                }

                //if ((flags & TMP_VertexDataUpdateFlags.Uv4) == TMP_VertexDataUpdateFlags.Uv4)
                //    mesh.uv4 = m_textInfo.meshInfo[i].uvs4;

                if ((flags & TMP_VertexDataUpdateFlags.Colors32) == TMP_VertexDataUpdateFlags.Colors32)
                {
                    mesh.colors32 = m_textInfo.meshInfo[i].colors32;
                }

                mesh.RecalculateBounds();

                if (i == 0)
                {
                    m_canvasRenderer.SetMesh(mesh);
                }
                else
                {
                    m_subTextObjects[i].canvasRenderer.SetMesh(mesh);
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Updates the text mesh with the current character changes from tweens and properties.
        /// Called automatically on Update().
        /// </summary>
        public void UpdateCharProperties()
        {
            TMP_VertexDataUpdateFlags updateFlags = 0;

            if (transformTweensActive || transformsChangedByProperties)
            {
                UpdateCharPositions();
                updateFlags |= TMP_VertexDataUpdateFlags.Vertices;
                transformsChangedByProperties = false;
            }

            if (colorTweensActive || colorsChangedByProperties)
            {
                UpdateCharColors();
                updateFlags |= TMP_VertexDataUpdateFlags.Colors32;
                colorsChangedByProperties = false;
            }

            if (updateFlags != 0)
            {
                Text.UpdateVertexData(updateFlags);
            }
        }
コード例 #4
0
ファイル: TextMeshPro.cs プロジェクト: Reticulatas/Embargo
        /// <summary>
        /// Function to upload the updated vertex data and renderer.
        /// </summary>
        public override void UpdateVertexData(TMP_VertexDataUpdateFlags flags)
        {
            int materialCount = m_textInfo.materialCount;

            for (int i = 0; i < materialCount; i++)
            {
                Mesh mesh;

                if (i == 0)
                    mesh = m_mesh;
                else
                    mesh = m_subTextObjects[i].mesh;

                //mesh.MarkDynamic();

                if ((flags & TMP_VertexDataUpdateFlags.Vertices) == TMP_VertexDataUpdateFlags.Vertices)
                    mesh.vertices = m_textInfo.meshInfo[i].vertices;

                if ((flags & TMP_VertexDataUpdateFlags.Uv0) == TMP_VertexDataUpdateFlags.Uv0)
                    mesh.uv = m_textInfo.meshInfo[i].uvs0;

                if ((flags & TMP_VertexDataUpdateFlags.Uv2) == TMP_VertexDataUpdateFlags.Uv2)
                    mesh.uv2 = m_textInfo.meshInfo[i].uvs2;

                //if ((flags & TMP_VertexDataUpdateFlags.Uv4) == TMP_VertexDataUpdateFlags.Uv4)
                //    mesh.uv4 = m_textInfo.meshInfo[i].uvs4;

                if ((flags & TMP_VertexDataUpdateFlags.Colors32) == TMP_VertexDataUpdateFlags.Colors32)
                    mesh.colors32 = m_textInfo.meshInfo[i].colors32;

                mesh.RecalculateBounds();
            }
        }
コード例 #5
0
ファイル: TMP_Text.cs プロジェクト: Reticulatas/Embargo
 /// <summary>
 /// Function to push the updated vertex data into the mesh and renderer.
 /// </summary>
 public virtual void UpdateVertexData(TMP_VertexDataUpdateFlags flags)
 {
 }