Пример #1
0
        private void InitAxisLabel()
        {
            if (!SeriesHelper.ContainsSerie(chart.series, SerieType.Gauge))
            {
                return;
            }
            var labelObject = ChartHelper.AddObject(s_AxisLabelObjectName, chart.transform, chart.chartMinAnchor,
                                                    chart.chartMaxAnchor, chart.chartPivot, chart.chartSizeDelta);

            labelObject.hideFlags = chart.chartHideFlags;
            SerieLabelPool.ReleaseAll(labelObject.transform);
            for (int i = 0; i < chart.series.Count; i++)
            {
                var serie      = chart.series.list[i];
                var serieLabel = serie.gaugeAxis.axisLabel;
                var count      = serie.splitNumber > 36 ? 36 : (serie.splitNumber + 1);
                var startAngle = serie.startAngle;
                serie.gaugeAxis.ClearLabelObject();
                SerieHelper.UpdateCenter(serie, chart.chartPosition, chart.chartWidth, chart.chartHeight);
                for (int j = 0; j < count; j++)
                {
                    var textName   = ChartCached.GetSerieLabelName(s_SerieLabelObjectName, i, j);
                    var color      = Color.grey;
                    var labelObj   = SerieLabelPool.Get(textName, labelObject.transform, serieLabel, color, 100, 100, chart.theme);
                    var iconImage  = labelObj.transform.Find("Icon").GetComponent <Image>();
                    var isAutoSize = serieLabel.backgroundWidth == 0 || serieLabel.backgroundHeight == 0;
                    var item       = new ChartLabel();
                    item.SetLabel(labelObj, isAutoSize, serieLabel.paddingLeftRight, serieLabel.paddingTopBottom);
                    item.SetIcon(iconImage);
                    item.SetIconActive(false);
                    serie.gaugeAxis.AddLabelObject(item);
                }
                UpdateAxisLabel(serie);
            }
        }
Пример #2
0
 public bool OnLegendButtonExit(int index, string legendName)
 {
     if (!SeriesHelper.ContainsSerie(chart.series, SerieType.Pie))
     {
         return(false);
     }
     if (!LegendHelper.IsSerieLegend(chart.series, legendName, SerieType.Pie))
     {
         return(false);
     }
     m_IsEnterPieLegendButtom = false;
     LegendHelper.CheckDataHighlighted(chart.series, legendName, false);
     chart.RefreshChart();
     return(true);
 }
Пример #3
0
 public bool OnLegendButtonClick(int index, string legendName, bool show)
 {
     if (!SeriesHelper.ContainsSerie(chart.series, SerieType.Pie))
     {
         return(false);
     }
     if (!LegendHelper.IsSerieLegend(chart.series, legendName, SerieType.Pie))
     {
         return(false);
     }
     LegendHelper.CheckDataShow(chart.series, legendName, show);
     chart.UpdateLegendColor(legendName, show);
     chart.RefreshChart();
     return(true);
 }
Пример #4
0
        public void OnPointerDown(PointerEventData eventData)
        {
            if (!SeriesHelper.ContainsSerie(chart.series, SerieType.Pie))
            {
                return;
            }
            if (chart.pointerPos == Vector2.zero)
            {
                return;
            }
            var refresh = false;

            for (int i = 0; i < chart.series.Count; i++)
            {
                var serie = chart.series.GetSerie(i);
                if (serie.type != SerieType.Pie)
                {
                    continue;
                }
                var index = GetPiePosIndex(serie, chart.pointerPos);
                if (index >= 0)
                {
                    refresh = true;
                    for (int j = 0; j < serie.data.Count; j++)
                    {
                        if (j == index)
                        {
                            serie.data[j].selected = !serie.data[j].selected;
                        }
                        else
                        {
                            serie.data[j].selected = false;
                        }
                    }
                    if (chart.onPointerClickPie != null)
                    {
                        chart.onPointerClickPie(eventData, i, index);
                    }
                }
            }
            if (refresh)
            {
                chart.RefreshChart();
            }
        }
Пример #5
0
 public bool ContainsSerie(SerieType serieType)
 {
     return(SeriesHelper.ContainsSerie(m_Series, serieType));
 }