From 4ad4eef4a335e16217b29da066420b88de42eb37 Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Tue, 7 Sep 2021 21:44:05 +0800 Subject: [PATCH] fix pie chart fade out animation #168 --- CHANGELOG-EN.md | 1 + CHANGELOG.md | 1 + Runtime/Internal/BaseChart.cs | 1 + Runtime/Internal/DrawSeriePie.cs | 2 ++ 4 files changed, 5 insertions(+) diff --git a/CHANGELOG-EN.md b/CHANGELOG-EN.md index 37f63e63..a3623d34 100644 --- a/CHANGELOG-EN.md +++ b/CHANGELOG-EN.md @@ -40,6 +40,7 @@ ## master +* (2021.09.07) Fixed bug where `label` does not disappear at the end of `PieChart` fade animation #168 * (2021.09.06) Fixed bug where `GaugeChart` changing `splitNumber` with code does not refresh `label` #167 ## v2.4.0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 93b96763..9099a172 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,7 @@ ## master +* (2021.09.07) 修复`PieChart`渐出动画结束时`label`没有消失的问题 #168 * (2021.09.06) 修复`GaugeChart`用代码改变`splitNumber`不会刷新`label`的问题 #167 ## v2.4.0 diff --git a/Runtime/Internal/BaseChart.cs b/Runtime/Internal/BaseChart.cs index b3665378..83d02c76 100644 --- a/Runtime/Internal/BaseChart.cs +++ b/Runtime/Internal/BaseChart.cs @@ -546,6 +546,7 @@ namespace XCharts var iconStyle = SerieHelper.GetIconStyle(serie, serieData); if (serie.IsPerformanceMode()) return; if (!serieLabel.show && !iconStyle.show) return; + if(serie.animation.enable && serie.animation.HasFadeOut()) return; var textName = ChartCached.GetSerieLabelName(s_SerieLabelObjectName, serie.index, serieData.index); var color = Color.grey; if (serie.type == SerieType.Pie) diff --git a/Runtime/Internal/DrawSeriePie.cs b/Runtime/Internal/DrawSeriePie.cs index 3c3e37d4..eeb02a43 100644 --- a/Runtime/Internal/DrawSeriePie.cs +++ b/Runtime/Internal/DrawSeriePie.cs @@ -413,6 +413,7 @@ namespace XCharts private void DrawPieLabelLine(VertexHelper vh, Serie serie, SerieData serieData, Color color) { + if (serie.animation.enable && serie.animation.HasFadeOut()) return; var serieLabel = SerieHelper.GetSerieLabel(serie, serieData); if (serieLabel.show && serieLabel.position == SerieLabel.Position.Outside @@ -496,6 +497,7 @@ namespace XCharts private void DrawPieLabel(Serie serie, int dataIndex, SerieData serieData, Color serieColor) { if (serieData.labelObject == null) return; + if (serie.animation.enable && serie.animation.HasFadeOut()) return; var currAngle = serieData.runtimePieHalfAngle; var isHighlight = (serieData.highlighted && serie.emphasis.label.show); var serieLabel = SerieHelper.GetSerieLabel(serie, serieData);