From ddb526fb428ca344bdf2de873ee3207076c2cb17 Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Tue, 12 Nov 2019 07:38:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0IconStyle=E5=AD=90=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=EF=BC=8C=E4=BC=98=E5=8C=96SerieData=E7=9A=84=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Editor/PropertyDrawers/IconStyleDrawer.cs | 67 +++++++++++ .../PropertyDrawers/IconStyleDrawer.cs.meta | 11 ++ .../Editor/PropertyDrawers/SerieDrawer.cs | 65 +++++------ .../Editor/PropertyDrawers/TextStyleDrawer.cs | 2 +- .../Editor/Utility/ChartEditorHelper.cs | 2 +- .../XCharts/Runtime/Component/Main/Serie.cs | 18 +-- .../Runtime/Component/Sub/IconStyle.cs | 105 ++++++++++++++++++ .../Runtime/Component/Sub/IconStyle.cs.meta | 11 ++ .../Runtime/Component/Sub/SerieData.cs | 65 +++-------- Assets/XCharts/Runtime/Internal/BaseChart.cs | 5 +- .../Runtime/Internal/CoordinateChart.cs | 2 +- .../Runtime/Internal/SerieLabelPool.cs | 2 +- Assets/XCharts/Runtime/PieChart.cs | 2 +- 13 files changed, 250 insertions(+), 107 deletions(-) create mode 100644 Assets/XCharts/Editor/PropertyDrawers/IconStyleDrawer.cs create mode 100644 Assets/XCharts/Editor/PropertyDrawers/IconStyleDrawer.cs.meta create mode 100644 Assets/XCharts/Runtime/Component/Sub/IconStyle.cs create mode 100644 Assets/XCharts/Runtime/Component/Sub/IconStyle.cs.meta diff --git a/Assets/XCharts/Editor/PropertyDrawers/IconStyleDrawer.cs b/Assets/XCharts/Editor/PropertyDrawers/IconStyleDrawer.cs new file mode 100644 index 00000000..b90773fc --- /dev/null +++ b/Assets/XCharts/Editor/PropertyDrawers/IconStyleDrawer.cs @@ -0,0 +1,67 @@ +/******************************************/ +/* */ +/* Copyright (c) 2018 monitor1394 */ +/* https://github.com/monitor1394 */ +/* */ +/******************************************/ + +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace XCharts +{ + [CustomPropertyDrawer(typeof(IconStyle), true)] + public class IconStyleDrawer : PropertyDrawer + { + private Dictionary m_IconStyleToggle = new Dictionary(); + + public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label) + { + Rect drawRect = pos; + drawRect.height = EditorGUIUtility.singleLineHeight; + SerializedProperty m_Show = prop.FindPropertyRelative("m_Show"); + SerializedProperty m_Layer = prop.FindPropertyRelative("m_Layer"); + SerializedProperty m_Sprite = prop.FindPropertyRelative("m_Sprite"); + SerializedProperty m_Color = prop.FindPropertyRelative("m_Color"); + SerializedProperty m_Width = prop.FindPropertyRelative("m_Width"); + SerializedProperty m_Height = prop.FindPropertyRelative("m_Height"); + SerializedProperty m_Offset = prop.FindPropertyRelative("m_Offset"); + ChartEditorHelper.MakeFoldout(ref drawRect, ref m_IconStyleToggle, prop, null, m_Show, false); + drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; + if (ChartEditorHelper.IsToggle(m_IconStyleToggle, prop)) + { + ++EditorGUI.indentLevel; + + EditorGUI.PropertyField(drawRect, m_Layer); + drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; + EditorGUI.PropertyField(drawRect, m_Sprite); + drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; + EditorGUI.PropertyField(drawRect, m_Color); + drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; + EditorGUI.PropertyField(drawRect, m_Width); + drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; + EditorGUI.PropertyField(drawRect, m_Height); + drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; + EditorGUI.PropertyField(drawRect, m_Offset); + drawRect.y += EditorGUI.GetPropertyHeight(m_Offset); + --EditorGUI.indentLevel; + } + } + + public override float GetPropertyHeight(SerializedProperty prop, GUIContent label) + { + if (ChartEditorHelper.IsToggle(m_IconStyleToggle, prop)) + { + var hight = 6 * EditorGUIUtility.singleLineHeight + 6 * EditorGUIUtility.standardVerticalSpacing; + hight += EditorGUI.GetPropertyHeight(prop.FindPropertyRelative("m_Offset")); + hight += EditorGUIUtility.standardVerticalSpacing; + return hight; + } + else + { + return EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; + } + } + } +} \ No newline at end of file diff --git a/Assets/XCharts/Editor/PropertyDrawers/IconStyleDrawer.cs.meta b/Assets/XCharts/Editor/PropertyDrawers/IconStyleDrawer.cs.meta new file mode 100644 index 00000000..fb19ace6 --- /dev/null +++ b/Assets/XCharts/Editor/PropertyDrawers/IconStyleDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9cae26ad61d224d8a97d41bdc52ec0b7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/XCharts/Editor/PropertyDrawers/SerieDrawer.cs b/Assets/XCharts/Editor/PropertyDrawers/SerieDrawer.cs index f243e32e..367683b7 100644 --- a/Assets/XCharts/Editor/PropertyDrawers/SerieDrawer.cs +++ b/Assets/XCharts/Editor/PropertyDrawers/SerieDrawer.cs @@ -173,7 +173,7 @@ namespace XCharts { EditorGUI.indentLevel++; - float nameWid = 40; + float nameWid = 42; EditorGUI.PropertyField(new Rect(drawRect.x, drawRect.y, pos.width - 2 * nameWid - 2, pos.height), m_DataDimension); var nameRect = new Rect(pos.width - 2 * nameWid + 14, drawRect.y, nameWid, pos.height); if (GUI.Button(nameRect, new GUIContent("Name"))) @@ -181,7 +181,7 @@ namespace XCharts m_ShowDataName.boolValue = !m_ShowDataName.boolValue; } var iconRect = new Rect(pos.width - nameWid + 14, drawRect.y, nameWid, pos.height); - if (GUI.Button(iconRect, new GUIContent("Icon"))) + if (GUI.Button(iconRect, new GUIContent("Other"))) { m_ShowDataIcon.boolValue = !m_ShowDataIcon.boolValue; } @@ -232,7 +232,7 @@ namespace XCharts } private void DrawDataElement(ref Rect drawRect, int dimension, SerializedProperty m_Datas, bool showName, - bool showIconDetail, bool showSelected, int index, float currentWidth) + bool showDetail, bool showSelected, int index, float currentWidth) { var lastX = drawRect.x; var lastWid = drawRect.width; @@ -253,7 +253,7 @@ namespace XCharts if (showSelected) { drawRect.width = drawRect.width - 18; - EditorGUI.PropertyField(drawRect, element); + EditorGUI.PropertyField(drawRect, element, new GUIContent("Element " + index)); drawRect.x = currentWidth - 45; EditorGUI.PropertyField(drawRect, selected, GUIContent.none); drawRect.x = lastX; @@ -261,13 +261,14 @@ namespace XCharts } else { - EditorGUI.PropertyField(drawRect, element); + EditorGUI.PropertyField(drawRect, element, new GUIContent("Element " + index)); } drawRect.y += EditorGUI.GetPropertyHeight(element) + EditorGUIUtility.standardVerticalSpacing; } else { EditorGUI.LabelField(drawRect, "Element " + index); + Debug.LogError("Element " + index); var startX = drawRect.x + EditorGUIUtility.labelWidth - EditorGUI.indentLevel * 15; var dataWidTotal = (currentWidth - (startX + 20.5f + 1)); var dataWid = dataWidTotal / fieldCount; @@ -296,36 +297,12 @@ namespace XCharts EditorGUIUtility.fieldWidth = lastFieldWid; EditorGUIUtility.labelWidth = lastLabelWid; } - if (showIconDetail) + if (showDetail) { EditorGUI.indentLevel++; - var m_ShowIcon = serieData.FindPropertyRelative("m_ShowIcon"); - var m_IconImage = serieData.FindPropertyRelative("m_IconImage"); - var m_IconColor = serieData.FindPropertyRelative("m_IconColor"); - var m_IconWidth = serieData.FindPropertyRelative("m_IconWidth"); - var m_IconHeight = serieData.FindPropertyRelative("m_IconHeight"); - var m_IconOffset = serieData.FindPropertyRelative("m_IconOffset"); - EditorGUI.PropertyField(drawRect, m_ShowIcon); - drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; - EditorGUI.PropertyField(drawRect, m_IconImage); - drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; - EditorGUI.PropertyField(drawRect, m_IconColor); - drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; - EditorGUI.PropertyField(drawRect, m_IconWidth); - drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; - EditorGUI.PropertyField(drawRect, m_IconHeight); - drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; - - EditorGUI.LabelField(drawRect, "Icon Offset"); - var startX = drawRect.x + EditorGUIUtility.labelWidth - EditorGUI.indentLevel * 15; - var tempWidth = (drawRect.width - startX + 72) / 2; - var centerXRect = new Rect(startX, drawRect.y, tempWidth, drawRect.height); - var centerYRect = new Rect(centerXRect.x + tempWidth - 58, drawRect.y, tempWidth, drawRect.height); - var x = EditorGUI.FloatField(centerXRect, m_IconOffset.vector3Value.x); - var y = EditorGUI.FloatField(centerYRect, m_IconOffset.vector3Value.y); - m_IconOffset.vector3Value = new Vector3(x, y); - drawRect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; - + var m_Icon = serieData.FindPropertyRelative("m_IconStyle"); + EditorGUI.PropertyField(drawRect, m_Icon); + drawRect.y += EditorGUI.GetPropertyHeight(m_Icon); EditorGUI.indentLevel--; } } @@ -373,15 +350,25 @@ namespace XCharts if (m_DataFoldout[index]) { SerializedProperty m_Data = prop.FindPropertyRelative("m_Data"); - int num = m_Data.arraySize + 2; - if (num > 30) num = 15; + height += 2 * EditorGUIUtility.singleLineHeight + 1 * EditorGUIUtility.standardVerticalSpacing; + int num = m_Data.arraySize; + if (num > 30) + { + num = 11; + height += (num + 1) * EditorGUIUtility.singleLineHeight + (num) * EditorGUIUtility.standardVerticalSpacing; + } + else + { + height += (num) * EditorGUIUtility.singleLineHeight + (num - 1) * EditorGUIUtility.standardVerticalSpacing; + } if (prop.FindPropertyRelative("m_ShowDataIcon").boolValue) { - num *= 5; - num += 2; + for (int i = 0; i < num; i++) + { + var item = m_Data.GetArrayElementAtIndex(i); + height += EditorGUI.GetPropertyHeight(item.FindPropertyRelative("m_IconStyle")); + } } - height += num * EditorGUIUtility.singleLineHeight + (num - 1) * EditorGUIUtility.standardVerticalSpacing; - } if (m_ShowJsonDataArea) { diff --git a/Assets/XCharts/Editor/PropertyDrawers/TextStyleDrawer.cs b/Assets/XCharts/Editor/PropertyDrawers/TextStyleDrawer.cs index 3669d33c..38f9713e 100644 --- a/Assets/XCharts/Editor/PropertyDrawers/TextStyleDrawer.cs +++ b/Assets/XCharts/Editor/PropertyDrawers/TextStyleDrawer.cs @@ -14,7 +14,7 @@ namespace XCharts [CustomPropertyDrawer(typeof(TextStyle), true)] public class TextStyleDrawer : PropertyDrawer { - private Dictionary m_TextStyleToggle = new Dictionary(); + //private Dictionary m_TextStyleToggle = new Dictionary(); public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label) { diff --git a/Assets/XCharts/Editor/Utility/ChartEditorHelper.cs b/Assets/XCharts/Editor/Utility/ChartEditorHelper.cs index 6c86dacd..e83f4c20 100644 --- a/Assets/XCharts/Editor/Utility/ChartEditorHelper.cs +++ b/Assets/XCharts/Editor/Utility/ChartEditorHelper.cs @@ -114,7 +114,7 @@ public class ChartEditorHelper { if (showProp.propertyType == SerializedPropertyType.Boolean) { - drawRect.width = 60; + drawRect.width = 80; } else { diff --git a/Assets/XCharts/Runtime/Component/Main/Serie.cs b/Assets/XCharts/Runtime/Component/Main/Serie.cs index 1abb89b7..11556617 100644 --- a/Assets/XCharts/Runtime/Component/Main/Serie.cs +++ b/Assets/XCharts/Runtime/Component/Main/Serie.cs @@ -1028,7 +1028,7 @@ namespace XCharts { foreach (var data in m_Data) { - data.showIcon = flag; + data.iconStyle.show = flag; } } @@ -1042,7 +1042,7 @@ namespace XCharts if (dataIndex >= 0 && dataIndex < m_Data.Count) { var data = m_Data[dataIndex]; - data.showIcon = flag; + data.iconStyle.show = flag; } } @@ -1055,8 +1055,8 @@ namespace XCharts { foreach (var data in m_Data) { - data.iconWidth = width; - data.iconHeight = height; + data.iconStyle.width = width; + data.iconStyle.height = height; } } @@ -1070,7 +1070,7 @@ namespace XCharts if (dataIndex >= 0 && dataIndex < m_Data.Count) { var data = m_Data[dataIndex]; - data.iconImage = image; + data.iconStyle.sprite = image; } } @@ -1078,7 +1078,7 @@ namespace XCharts { foreach (var data in m_Data) { - if (data.showIcon) return true; + if (data.iconStyle.show) return true; } return false; } @@ -1094,8 +1094,8 @@ namespace XCharts if (dataIndex >= 0 && dataIndex < m_Data.Count) { var data = m_Data[dataIndex]; - data.iconWidth = width; - data.iconHeight = height; + data.iconStyle.width = width; + data.iconStyle.height = height; } } @@ -1109,7 +1109,7 @@ namespace XCharts if (dataIndex >= 0 && dataIndex < m_Data.Count) { var data = m_Data[dataIndex]; - data.iconColor = color; + data.iconStyle.color = color; } } diff --git a/Assets/XCharts/Runtime/Component/Sub/IconStyle.cs b/Assets/XCharts/Runtime/Component/Sub/IconStyle.cs new file mode 100644 index 00000000..8d665b0a --- /dev/null +++ b/Assets/XCharts/Runtime/Component/Sub/IconStyle.cs @@ -0,0 +1,105 @@ +/******************************************/ +/* */ +/* Copyright (c) 2018 monitor1394 */ +/* https://github.com/monitor1394 */ +/* */ +/******************************************/ + +using UnityEngine; +using UnityEngine.UI; + +namespace XCharts +{ + /// + /// 系列数据项的图标 + /// + [System.Serializable] + public class IconStyle : SubComponent + { + public enum Layer + { + UnderLabel, + AboveLabel + } + [SerializeField] private bool m_Show; + [SerializeField] private Layer m_Layer; + [SerializeField] private Sprite m_Sprite; + [SerializeField] private Color m_Color = Color.white; + [SerializeField] private float m_Width = 40; + [SerializeField] private float m_Height = 40; + [SerializeField] private Vector3 m_Offset; + + /// + /// Whether the data icon is show. + /// 是否显示图标。 + /// + public bool show { get { return m_Show; } set { m_Show = value; UpdateIcon(); } } + /// + /// 显示在上层还是在下层。 + /// + public Layer layer { get { return m_Layer; } set { m_Layer = value; } } + /// + /// The image of icon. + /// 图标的图片。 + /// + public Sprite sprite { get { return m_Sprite; } set { m_Sprite = value; } } + /// + /// 图标颜色。 + /// + public Color color { get { return m_Color; } set { m_Color = value; } } + /// + /// 图标宽。 + /// + public float width { get { return m_Width; } set { m_Width = value; } } + /// + /// 图标高。 + /// + public float height { get { return m_Height; } set { m_Height = value; } } + /// + /// 图标偏移。 + /// + public Vector3 offset { get { return m_Offset; } set { m_Offset = value; } } + + public Image image { get; private set; } + public RectTransform rect { get; private set; } + + public void SetImage(Image image) + { + this.image = image; + if (image) + { + rect = image.GetComponent(); + if (m_Layer == Layer.UnderLabel) + rect.SetSiblingIndex(0); + else + rect.SetSiblingIndex(image.transform.childCount - 1); + UpdateIcon(); + } + } + + public void SetActive(bool flag) + { + if (image) + { + ChartHelper.SetActive(image.gameObject, flag); + } + } + + public void UpdateIcon() + { + if (image == null) return; + if (show) + { + ChartHelper.SetActive(image.gameObject, true); + image.sprite = m_Sprite; + image.color = m_Color; + rect.sizeDelta = new Vector2(m_Width, m_Height); + image.transform.localPosition = m_Offset; + } + else + { + ChartHelper.SetActive(image.gameObject, false); + } + } + } +} diff --git a/Assets/XCharts/Runtime/Component/Sub/IconStyle.cs.meta b/Assets/XCharts/Runtime/Component/Sub/IconStyle.cs.meta new file mode 100644 index 00000000..53609daf --- /dev/null +++ b/Assets/XCharts/Runtime/Component/Sub/IconStyle.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 82c4d360f7b5b4ee7845e9bbe611c8a3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/XCharts/Runtime/Component/Sub/SerieData.cs b/Assets/XCharts/Runtime/Component/Sub/SerieData.cs index 0e2089f1..14be0cc4 100644 --- a/Assets/XCharts/Runtime/Component/Sub/SerieData.cs +++ b/Assets/XCharts/Runtime/Component/Sub/SerieData.cs @@ -9,6 +9,7 @@ using System.Linq; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; +using System; namespace XCharts { @@ -22,13 +23,7 @@ namespace XCharts [SerializeField] private string m_Name; [SerializeField] private bool m_Selected; [SerializeField] private float m_Radius; - [SerializeField] private bool m_ShowIcon; - [SerializeField] private Sprite m_IconImage; - [SerializeField] private Color m_IconColor = Color.white; - [SerializeField] private float m_IconWidth = 40; - [SerializeField] private float m_IconHeight = 40; - [SerializeField] private Vector3 m_IconOffset; - + [SerializeField] private IconStyle m_IconStyle = new IconStyle(); [SerializeField] private List m_Data = new List(); private bool m_Show = true; @@ -58,32 +53,10 @@ namespace XCharts /// public bool selected { get { return m_Selected; } set { m_Selected = value; } } /// - /// Whether the data icon is show. - /// 是否显示图标。 + /// the icon of data. + /// 数据项图标样式。 /// - public bool showIcon { get { return m_ShowIcon; } set { m_ShowIcon = value; } } - /// - /// The image of icon. - /// 图标的图片。 - /// - public Sprite iconImage { get { return m_IconImage; } set { m_IconImage = value; } } - /// - /// 图标颜色。 - /// - public Color iconColor { get { return m_IconColor; } set { m_IconColor = value; } } - /// - /// 图标宽。 - /// - public float iconWidth { get { return m_IconWidth; } set { m_IconWidth = value; } } - /// - /// 图标高。 - /// - public float iconHeight { get { return m_IconHeight; } set { m_IconHeight = value; } } - /// - /// 图标偏移。 - /// - public Vector3 iconOffset { get { return m_IconOffset; } set { m_IconOffset = value; } } - + public IconStyle iconStyle { get { return m_IconStyle; } set { m_IconStyle = value; } } /// /// An arbitrary dimension data list of data item. /// 可指定任意维数的数值列表。 @@ -124,8 +97,7 @@ namespace XCharts /// 最小值。 /// public float min { get { return m_Data.Min(); } } - public Image icon { get; private set; } - public RectTransform iconRect { get; private set; } + /// /// 关联的gameObject /// @@ -238,28 +210,19 @@ namespace XCharts if (labelRect) labelRect.localPosition = position; } - public void SetIconObj(GameObject iconObj) + [Obsolete("Use SerieData.SetIconImage() instead.", true)] + public void SetIconObj(GameObject iconObj) { } + + public void SetIconImage(Image image) { - icon = iconObj.GetComponent(); - iconRect = iconObj.GetComponent(); - UpdateIcon(); + if (iconStyle == null) return; + iconStyle.SetImage(image); } public void UpdateIcon() { - if (icon == null) return; - if (m_ShowIcon) - { - ChartHelper.SetActive(icon.gameObject, true); - icon.sprite = m_IconImage; - icon.color = m_IconColor; - iconRect.sizeDelta = new Vector2(m_IconWidth, m_IconHeight); - icon.transform.localPosition = m_IconOffset; - } - else - { - ChartHelper.SetActive(icon.gameObject, false); - } + if (iconStyle == null) return; + iconStyle.UpdateIcon(); } } } diff --git a/Assets/XCharts/Runtime/Internal/BaseChart.cs b/Assets/XCharts/Runtime/Internal/BaseChart.cs index 28fdded0..f4161c28 100644 --- a/Assets/XCharts/Runtime/Internal/BaseChart.cs +++ b/Assets/XCharts/Runtime/Internal/BaseChart.cs @@ -311,9 +311,8 @@ namespace XCharts (Color)m_ThemeInfo.GetColor(i); } var labelObj = SerieLabelPool.Get(textName, labelObject.transform, serie.label, m_ThemeInfo.font, color, serieData); - var iconObj = labelObj.transform.Find("Icon").gameObject; - serieData.SetIconObj(iconObj); - iconObj.GetComponent().SetSiblingIndex(0); + var iconImage = labelObj.transform.Find("Icon").GetComponent(); + serieData.SetIconImage(iconImage); var isAutoSize = serie.label.backgroundWidth == 0 || serie.label.backgroundHeight == 0; serieData.InitLabel(labelObj, isAutoSize, serie.label.paddingLeftRight, serie.label.paddingTopBottom); diff --git a/Assets/XCharts/Runtime/Internal/CoordinateChart.cs b/Assets/XCharts/Runtime/Internal/CoordinateChart.cs index 5c35b927..f33ec5f1 100644 --- a/Assets/XCharts/Runtime/Internal/CoordinateChart.cs +++ b/Assets/XCharts/Runtime/Internal/CoordinateChart.cs @@ -1325,7 +1325,7 @@ namespace XCharts for (int j = 0; j < serie.data.Count; j++) { var serieData = serie.data[j]; - if (serie.label.show || serieData.showIcon) + if (serie.label.show || serieData.iconStyle.show) { var pos = serie.dataPoints[j]; var value = serieData.data[1]; diff --git a/Assets/XCharts/Runtime/Internal/SerieLabelPool.cs b/Assets/XCharts/Runtime/Internal/SerieLabelPool.cs index e8704857..2cbff214 100644 --- a/Assets/XCharts/Runtime/Internal/SerieLabelPool.cs +++ b/Assets/XCharts/Runtime/Internal/SerieLabelPool.cs @@ -22,7 +22,7 @@ namespace XCharts 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); + ChartHelper.AddIcon("Icon", element.transform, serieData.iconStyle.width, serieData.iconStyle.height); } else { diff --git a/Assets/XCharts/Runtime/PieChart.cs b/Assets/XCharts/Runtime/PieChart.cs index c8f20146..9efa5f34 100644 --- a/Assets/XCharts/Runtime/PieChart.cs +++ b/Assets/XCharts/Runtime/PieChart.cs @@ -337,7 +337,7 @@ namespace XCharts var currAngle = serieData.runtimePieHalfAngle; var isHighlight = (serieData.highlighted && serie.emphasis.label.show); var showLabel = ((serie.label.show || isHighlight) && serieData.canShowLabel); - if (showLabel || serieData.showIcon) + if (showLabel || serieData.iconStyle.show) { serieData.SetLabelActive(showLabel); float rotate = 0;