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();
            }
        }