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