コード例 #1
0
        public static GameObject Get(string name, Transform parent, SerieLabel label, Font font, Color color, SerieData serieData)
        {
            GameObject element;

            if (m_Stack.Count == 0)
            {
                element = ChartHelper.AddSerieLabel(name, parent, font,
                                                    color, label.backgroundColor, label.fontSize, label.fontStyle, label.rotate,
                                                    label.backgroundWidth, label.backgroundHeight);
                ChartHelper.AddIcon("Icon", element.transform, serieData.iconWidth, serieData.iconHeight);
            }
            else
            {
                element = m_Stack.Pop();

                //天讯修改,栈堆取出来的值可能会为空,导致空引用报错,因此新增if判断
                if (element == null)
                {
                    element = ChartHelper.AddSerieLabel(name, parent, font,
                                                        color, label.backgroundColor, label.fontSize, label.fontStyle, label.rotate,
                                                        label.backgroundWidth, label.backgroundHeight);
                    ChartHelper.AddIcon("Icon", element.transform, serieData.iconWidth, serieData.iconHeight);
                }
                else
                {
                    element.name = name;
                    element.transform.SetParent(parent);
                    ChartHelper.SetActive(element, true);
                }
            }
            return(element);
        }
コード例 #2
0
        public static GameObject Get(string name, Transform parent, SerieLabel label, Font font, Color color, float iconWidth, float iconHeight)
        {
            GameObject element;

            if (m_Stack.Count == 0 || !Application.isPlaying)
            {
                element = ChartHelper.AddSerieLabel(name, parent, font,
                                                    color, label.backgroundColor, label.fontSize, label.fontStyle, label.rotate,
                                                    label.backgroundWidth, label.backgroundHeight);
                ChartHelper.AddIcon("Icon", element.transform, iconWidth, iconHeight);
            }
            else
            {
                element      = m_Stack.Pop();
                element.name = name;
                element.transform.SetParent(parent);
                element.transform.localEulerAngles = new Vector3(0, 0, label.rotate);
                var text = element.GetComponentInChildren <Text>();
                text.color     = color;
                text.font      = font;
                text.fontSize  = label.fontSize;
                text.fontStyle = label.fontStyle;
                ChartHelper.SetActive(element, true);
            }
            return(element);
        }
コード例 #3
0
        private static GameObject CreateSerieLabel(string name, Transform parent, SerieLabel label, Color color,
                                                   float iconWidth, float iconHeight, ChartTheme theme)
        {
            var element = ChartHelper.AddSerieLabel(name, parent, label.backgroundWidth, label.backgroundHeight,
                                                    color, label.textStyle, theme);

            ChartHelper.AddIcon("Icon", element.transform, iconWidth, iconHeight);
            return(element);
        }
コード例 #4
0
        private static GameObject CreateSerieLabel(string name, Transform parent, SerieLabel label, Font font, Color color,
                                                   float iconWidth, float iconHeight)
        {
            var element = ChartHelper.AddSerieLabel(name, parent, font,
                                                    color, label.backgroundColor, label.fontSize, label.fontStyle, label.rotate,
                                                    label.backgroundWidth, label.backgroundHeight, 1);

            ChartHelper.AddIcon("Icon", element.transform, iconWidth, iconHeight);
            return(element);
        }
コード例 #5
0
        private void InitSerieLabel()
        {
            var labelObject = ChartHelper.AddObject(s_SerieLabelObjectName, transform, chartAnchorMin,
                                                    chartAnchorMax, chartPivot, new Vector2(chartWidth, chartHeight));

            ChartHelper.DestroyAllChildren(labelObject.transform);
            int count = 0;

            for (int i = 0; i < m_Series.Count; i++)
            {
                var serie = m_Series.list[i];
                for (int j = 0; j < serie.data.Count; j++)
                {
                    var serieData = serie.data[j];
                    if (!serie.label.show && j > 100)
                    {
                        continue;
                    }
                    var textName = s_SerieLabelObjectName + "_" + i + "_" + j + "_" + serieData.name;
                    var color    = Color.grey;
                    if (serie.type == SerieType.Pie)
                    {
                        color = (serie.label.position == SerieLabel.Position.Inside) ? Color.white :
                                (Color)m_ThemeInfo.GetColor(count);
                    }
                    else
                    {
                        color = serie.label.color != Color.clear ? serie.label.color :
                                (Color)m_ThemeInfo.GetColor(i);
                    }
                    var backgroundColor = serie.label.backgroundColor;
                    var labelObj        = ChartHelper.AddSerieLabel(textName, labelObject.transform, m_ThemeInfo.font,
                                                                    color, backgroundColor, serie.label.fontSize, serie.label.fontStyle, serie.label.rotate,
                                                                    serie.label.backgroundWidth, serie.label.backgroundHeight);

                    var iconObj = ChartHelper.AddIcon("Icon", labelObj.transform, serieData.iconWidth, serieData.iconHeight);
                    serieData.SetIconObj(iconObj);

                    var isAutoSize = serie.label.backgroundWidth == 0 || serie.label.backgroundHeight == 0;
                    serieData.InitLabel(labelObj, isAutoSize, serie.label.paddingLeftRight, serie.label.paddingTopBottom);
                    serieData.SetLabelActive(false);
                    serieData.SetLabelText(serieData.name);

                    count++;
                }
            }
        }
コード例 #6
0
        private void InitSerieLabel()
        {
            var labelObject = ChartHelper.AddObject(s_SerieLabelObjectName, transform, chartAnchorMin,
                                                    chartAnchorMax, chartPivot, new Vector2(chartWidth, chartHeight));

            ChartHelper.DestoryAllChilds(labelObject.transform);
            int count = 0;

            for (int i = 0; i < m_Series.Count; i++)
            {
                var serie = m_Series.series[i];
                if (serie.type != SerieType.Pie && serie.type != SerieType.Line)
                {
                    continue;
                }
                if (serie.type != SerieType.Pie && !serie.label.show)
                {
                    continue;
                }
                for (int j = 0; j < serie.data.Count; j++)
                {
                    var serieData = serie.data[j];
                    var textName  = s_SerieLabelObjectName + "_" + i + "_" + j + "_" + serieData.name;
                    var color     = Color.grey;
                    if (serie.type == SerieType.Pie)
                    {
                        color = (serie.label.position == SerieLabel.Position.Inside) ? Color.white :
                                (Color)m_ThemeInfo.GetColor(count);
                    }
                    else
                    {
                        color = serie.label.color != Color.clear ? serie.label.color :
                                (Color)m_ThemeInfo.GetColor(i);
                    }
                    var backgroundColor = serie.label.backgroundColor;
                    var labelObj        = ChartHelper.AddSerieLabel(textName, labelObject.transform, m_ThemeInfo.font, color, backgroundColor,
                                                                    serie.label.fontSize, serie.label.fontStyle);
                    serieData.label      = labelObj.GetComponentInChildren <Text>();
                    serieData.labelImage = labelObj.GetComponent <Image>();
                    serieData.labelRect  = labelObj.GetComponent <RectTransform>();
                    serieData.SetLabelActive(false);
                    serieData.SetLabelText(serieData.name);
                    count++;
                }
            }
        }
コード例 #7
0
        public static GameObject Get(string name, Transform parent, SerieLabel label, Font font, Color color, SerieData serieData)
        {
            GameObject element;

            if (m_Stack.Count == 0 || !Application.isPlaying)
            {
                element = ChartHelper.AddSerieLabel(name, parent, font,
                                                    color, label.backgroundColor, label.fontSize, label.fontStyle, label.rotate,
                                                    label.backgroundWidth, label.backgroundHeight);
                ChartHelper.AddIcon("Icon", element.transform, serieData.iconStyle.width, serieData.iconStyle.height);
            }
            else
            {
                element      = m_Stack.Pop();
                element.name = name;
                element.transform.SetParent(parent);
                ChartHelper.SetActive(element, true);
            }
            return(element);
        }
コード例 #8
0
 private void InitMarkLineLabel(Serie serie, MarkLineData data, Color serieColor)
 {
     data.painter          = chart.m_PainterTop;
     data.refreshComponent = delegate()
     {
         var label    = data.label;
         var textName = string.Format("markLine_{0}_{1}", serie.index, data.index);
         var color    = !ChartHelper.IsClearColor(label.textStyle.color) ? label.textStyle.color : chart.theme.axis.textColor;
         var element  = ChartHelper.AddSerieLabel(textName, m_MarkLineLabelRoot.transform, label.backgroundWidth,
                                                  label.backgroundHeight, color, label.textStyle, chart.theme);
         var isAutoSize = label.backgroundWidth == 0 || label.backgroundHeight == 0;
         var item       = new ChartLabel();
         item.SetLabel(element, isAutoSize, label.paddingLeftRight, label.paddingTopBottom);
         item.SetIconActive(false);
         item.SetActive(data.label.show);
         item.SetPosition(MarkLineHelper.GetLabelPosition(data));
         item.SetText(MarkLineHelper.GetFormatterContent(serie, data));
         data.runtimeLabel = item;
     };
     data.refreshComponent();
 }