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); } }
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); }
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); }
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(); } }
public bool ContainsSerie(SerieType serieType) { return(SeriesHelper.ContainsSerie(m_Series, serieType)); }