private void DrawGauge(VertexHelper vh, Serie serie) { serie.UpdateCenter(chartWidth, chartHeight); var destAngle = GetCurrAngle(serie, true); serie.animation.InitProgress(0, serie.startAngle, destAngle); var currAngle = serie.animation.IsFinish() ? GetCurrAngle(serie, false) : serie.animation.GetCurrDetail(); DrawProgressBar(vh, serie, currAngle); DrawStageColor(vh, serie); DrawLineStyle(vh, serie); DrawAxisTick(vh, serie); DrawPointer(vh, serie, currAngle); TitleStyleHelper.CheckTitle(serie, ref m_ReinitTitle, ref m_UpdateTitleText); SerieLabelHelper.CheckLabel(serie, ref m_ReinitLabel, ref m_UpdateLabelText); CheckAnimation(serie); if (!serie.animation.IsFinish()) { serie.animation.CheckProgress(destAngle - serie.startAngle); RefreshChart(); } else if (NeedRefresh(serie)) { RefreshChart(); } }
private void DrawGauge(VertexHelper vh, Serie serie) { serie.UpdateCenter(chartWidth, chartHeight); var destAngle = GetCurrAngle(serie, true); serie.animation.InitProgress(0, serie.startAngle, destAngle); var currAngle = serie.animation.IsFinish() ? GetCurrAngle(serie, false) : serie.animation.GetCurrDetail(); DrawProgressBar(vh, serie, currAngle); DrawStageColor(vh, serie); DrawLineStyle(vh, serie); DrawAxisTick(vh, serie); DrawPointer(vh, serie, currAngle); UpdateTitle(serie); // UpdateAxisLabel(serie); UpdateLabel(serie); CheckAnimation(serie); if (!serie.animation.IsFinish()) { float duration = serie.animation.duration > 0 ? (float)serie.animation.duration / 1000 : 1; float speed = (destAngle - serie.startAngle) / duration; serie.animation.CheckProgress(Time.deltaTime * speed); RefreshChart(); } else if (NeedRefresh(serie)) { RefreshChart(); } }