public void Recalc(Mesh mesh) { if (NeedUpdateBuffer()) { BeginSample("ApplyLength"); ApplyLength(); EndSample(); } if (NeedUpdateInline()) { BeginSample("ApplyInlineColor"); ApplyInlineColor(); EndSample(); } else if(!m_spriteText.InlineColor) { m_displayedText = m_spriteText.Text; } if (NeedUpdateGeom()) { BeginSample("ResetGeom"); ResetGeom(); EndSample(); BeginSample("ParseText"); ParseText(); EndSample(); BeginSample("ApplyPivot"); ApplyPivot(); EndSample(); BeginSample("ApplyAlignment"); ApplyAlignment(); EndSample(); } if (NeedUpdateColor()) { BeginSample("ApplyColor"); ApplyColor(); EndSample(); } if (NeedUpdateGeom()) { BeginSample("ApplyScale"); ApplyScale(); EndSample(); } BeginSample("Apply geom to mesh"); if (NeedUpdateBuffer()) { BeginSample("Clear mesh"); mesh.Clear(); EndSample(); } if (NeedUpdateGeom()) { BeginSample("Set vertices and uv"); mesh.subMeshCount = m_triangles.Length; mesh.vertices = m_vertixes; mesh.uv = m_uv; for (int i = 0; i < m_triangles.Length; i++) { mesh.SetTriangles(m_triangles[i], i); } EndSample(); } if (NeedUpdateColor()) { BeginSample("Set colors"); mesh.colors = m_colors; EndSample(); } if (NeedUpdateBuffer()) { BeginSample("Recalculate bounds and normals"); mesh.RecalculateBounds(); mesh.RecalculateNormals(); EndSample(); } EndSample(); m_flags = SpriteTextFlags.UpdateNone; }
public void SetChanged(SpriteTextFlags flag) { m_flags |= flag; }
private void SetChanged(SpriteTextFlags flag) { Geom.SetChanged(flag); }