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