/// <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); } } }
/// <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); } } }
/// <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); } }
/// <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(); } }
/// <summary> /// Function to push the updated vertex data into the mesh and renderer. /// </summary> public virtual void UpdateVertexData(TMP_VertexDataUpdateFlags flags) { }