From c24d89c8ab06d29f37d283a2c8e363d03a9d20ab Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Tue, 14 Jun 2022 07:28:24 +0800 Subject: [PATCH] [optimaze][label] icon and emphasis label --- CHANGELOG.md | 3 ++- Runtime/Internal/Object/ChartLabel.cs | 1 + Runtime/Serie/SerieHandler.cs | 15 +++++++-------- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c8ebd3b0..cb4f0d3d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,7 +53,8 @@ ## master -* (2022.06.14) 优化`Background`,参数`hideThemeBackgroundColor`重命名为`autoColor` +* (2022.06.14) 优化`SerieLabelStyle`,支持动态调整`Icon` +* (2022.06.13) 优化`Background`,参数`hideThemeBackgroundColor`重命名为`autoColor` * (2022.06.10) 增加`Legend`的`AxisLabel`支持`autoColor` * (2022.06.08) 修复`Axis`的`AxisLabel`在设置不显示时还显示首尾两个`label`的问题 diff --git a/Runtime/Internal/Object/ChartLabel.cs b/Runtime/Internal/Object/ChartLabel.cs index 7da2fb5b..746e17fb 100644 --- a/Runtime/Internal/Object/ChartLabel.cs +++ b/Runtime/Internal/Object/ChartLabel.cs @@ -137,6 +137,7 @@ namespace XCharts.Runtime { m_IconImage.sprite = sprite == null ? iconStyle.sprite : sprite; m_IconImage.color = iconStyle.color; + m_IconImage.type = iconStyle.type; m_IconRect.sizeDelta = new Vector2(iconStyle.width, iconStyle.height); m_IconOffest = iconStyle.offset; m_Align = iconStyle.align; diff --git a/Runtime/Serie/SerieHandler.cs b/Runtime/Serie/SerieHandler.cs index 1d8dfce9..8a2594b8 100644 --- a/Runtime/Serie/SerieHandler.cs +++ b/Runtime/Serie/SerieHandler.cs @@ -240,13 +240,11 @@ namespace XCharts.Runtime if (count == -1) count = serie.dataCount; var serieLabel = SerieHelper.GetSerieLabel(serie, serieData); if (serieLabel == null) - return false; - - var serieEmphasisLabel = SerieHelper.GetSerieEmphasisLabel(serie, serieData); - - if (!serieLabel.show && - (serieEmphasisLabel == null || !serieEmphasisLabel.show)) - return false; + { + serieLabel = SerieHelper.GetSerieEmphasisLabel(serie, serieData); + if (serieLabel == null || !serieLabel.show) + return false; + } var dataAutoColor = GetSerieDataAutoColor(serieData); serieData.context.dataLabels.Clear(); @@ -404,6 +402,7 @@ namespace XCharts.Runtime labelObject.SetActive(!isIgnore); labelObject.SetText(content); labelObject.SetPosition(serieData.context.dataPoints[i] + offset); + labelObject.UpdateIcon(currLabel.icon); if (currLabel.textStyle.autoColor) { var dataAutoColor = GetSerieDataAutoColor(serieData); @@ -422,7 +421,7 @@ namespace XCharts.Runtime SerieLabelHelper.GetFormatterContent(serie, serieData, value, total, currLabel, color); serieData.SetLabelActive(!isIgnore); - + serieData.labelObject.UpdateIcon(currLabel.icon); serieData.labelObject.SetText(content); UpdateLabelPosition(serieData, currLabel); if (currLabel.textStyle.autoColor)