diff --git a/Runtime/Component/Background/BackgroundHandler.cs b/Runtime/Component/Background/BackgroundHandler.cs index 0d780d38..bb53f759 100644 --- a/Runtime/Component/Background/BackgroundHandler.cs +++ b/Runtime/Component/Background/BackgroundHandler.cs @@ -50,7 +50,7 @@ namespace XCharts.Runtime var borderColor = component.borderStyle.GetRuntimeBorderColor(); var cornerRadius = component.borderStyle.GetRuntimeCornerRadius(); UGL.DrawRoundRectangleWithBorder(vh, chart.chartRect, backgroundColor, backgroundColor, cornerRadius, - borderWidth, borderColor); + borderWidth, borderColor, 0, 1f); } } } \ No newline at end of file diff --git a/Runtime/Internal/Object/ChartLabel.cs b/Runtime/Internal/Object/ChartLabel.cs index 50d685e7..3cb6cc01 100644 --- a/Runtime/Internal/Object/ChartLabel.cs +++ b/Runtime/Internal/Object/ChartLabel.cs @@ -56,7 +56,7 @@ namespace XCharts.Runtime protected override void Awake() { raycastTarget = false; - SetActive(true); + SetActive(false, true); } public void SetTextPadding(TextPadding padding) @@ -200,10 +200,13 @@ namespace XCharts.Runtime return m_Active; } - public void SetActive(bool flag) + public void SetActive(bool flag, bool force = false) { - m_Active = flag; - ChartHelper.SetActive(gameObject, flag); + if (m_Active == flag && !force) return; + if (ChartHelper.SetActive(gameObject, flag)) + { + m_Active = flag; + } } public void SetTextActive(bool flag) @@ -247,7 +250,7 @@ namespace XCharts.Runtime AdjustIconPos(); if (m_HideIconIfTextEmpty && isIconActive) { - ChartHelper.SetActive(m_IconImage.gameObject, !string.IsNullOrEmpty(text)); + SetIconActive(!string.IsNullOrEmpty(text)); } } return false; diff --git a/Runtime/Internal/Utilities/ChartHelper.cs b/Runtime/Internal/Utilities/ChartHelper.cs index 44298b7c..f2ba7d6b 100644 --- a/Runtime/Internal/Utilities/ChartHelper.cs +++ b/Runtime/Internal/Utilities/ChartHelper.cs @@ -41,22 +41,22 @@ namespace XCharts.Runtime return s_Builder.ToString(); } - public static void SetActive(GameObject gameObject, bool active) + public static bool SetActive(GameObject gameObject, bool active) { - if (gameObject == null) return; - SetActive(gameObject.transform, active); + if (gameObject == null) return false; + return SetActive(gameObject.transform, active); } - public static void SetActive(Image image, bool active) + public static bool SetActive(Image image, bool active) { - if (image == null) return; - SetActive(image.gameObject, active); + if (image == null) return false; + return SetActive(image.gameObject, active); } - public static void SetActive(Text text, bool active) + public static bool SetActive(Text text, bool active) { - if (text == null) return; - SetActive(text.gameObject, active); + if (text == null) return false; + return SetActive(text.gameObject, active); } /// @@ -64,12 +64,14 @@ namespace XCharts.Runtime /// /// /// - public static void SetActive(Transform transform, bool active) + public static bool SetActive(Transform transform, bool active) { - if (transform == null) return; + if (transform == null) return false; if (active) transform.localScale = Vector3.one; else transform.localScale = Vector3.zero; + return true; } + public static void HideAllObject(GameObject obj, string match = null) { if (obj == null) return; @@ -460,7 +462,7 @@ namespace XCharts.Runtime label.color = (!labelStyle.background.autoColor || autoColor == Color.clear) ? labelStyle.background.color : autoColor; label.sprite = labelStyle.background.sprite; - if(label.type != labelStyle.background.type) + if (label.type != labelStyle.background.type) label.type = labelStyle.background.type; } else diff --git a/Runtime/Serie/SerieHandler.cs b/Runtime/Serie/SerieHandler.cs index 79a716f1..e6306bcc 100644 --- a/Runtime/Serie/SerieHandler.cs +++ b/Runtime/Serie/SerieHandler.cs @@ -368,7 +368,7 @@ namespace XCharts.Runtime var textName = string.Format("{0}_{1}_{2}_{3}", s_SerieLabelObjectName, serie.index, serieData.index, i); var label = ChartHelper.AddChartLabel(textName, serieLabelRoot.transform, serieLabel, chart.theme.common, "", dataAutoColor, TextAnchor.MiddleCenter); - label.SetActive(serieLabel.show); + label.SetActive(false); serieData.context.dataLabels.Add(label); } } @@ -377,7 +377,7 @@ namespace XCharts.Runtime var textName = ChartCached.GetSerieLabelName(s_SerieLabelObjectName, serie.index, serieData.index); var label = ChartHelper.AddChartLabel(textName, serieLabelRoot.transform, serieLabel, chart.theme.common, "", dataAutoColor, TextAnchor.MiddleCenter); - label.SetActive(serieLabel.show); + label.SetActive(false); serieData.labelObject = label; } @@ -581,10 +581,6 @@ namespace XCharts.Runtime { foreach (var serieData in serie.data) { - if (serieData.labelObject == null && serieData.context.dataLabels.Count <= 0) - { - continue; - } serieData.SetLabelActive(false); } }