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);
        }
        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);
        }
Example #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);
        }
        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);
        }
Example #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++;
                }
            }
        }
Example #6
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);
        }
Example #7
0
        public static ChartLabel AddAxisLabelObject(int total, int index, string name, Transform parent,
                                                    Vector2 anchorMin, Vector2 anchorMax, Vector2 pivot, Vector2 sizeDelta, Axis axis, ComponentTheme theme,
                                                    string content)
        {
            var textStyle = axis.axisLabel.textStyle;
            var iconStyle = axis.iconStyle;
            var label     = new ChartLabel();

            label.gameObject = AddObject(name, parent, anchorMin, anchorMax, pivot, sizeDelta);

            // TODO: 为了兼容旧版本,这里后面版本可以去掉
            var oldText = label.gameObject.GetComponent <Text>();

            if (oldText != null)
            {
                GameObject.DestroyImmediate(oldText);
            }
            var labelShow = axis.axisLabel.show && (axis.axisLabel.interval == 0 || index % (axis.axisLabel.interval + 1) == 0);

            if (labelShow)
            {
                if (!axis.axisLabel.showStartLabel && index == 0)
                {
                    labelShow = false;
                }
                else if (!axis.axisLabel.showEndLabel && index == total - 1)
                {
                    labelShow = false;
                }
            }
            label.label = AddTextObject("Text", label.gameObject.transform, anchorMin, anchorMax, pivot, sizeDelta, textStyle, theme);
            label.icon  = ChartHelper.AddIcon("Icon", label.gameObject.transform, iconStyle.width, iconStyle.height);
            label.SetAutoSize(false);
            label.UpdateIcon(iconStyle, axis.GetIcon(index));
            label.label.SetActive(labelShow);
            label.SetText(content);
            return(label);
        }