Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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();
            }
        }