diff --git a/Assets/XCharts/CHANGELOG-EN.md b/Assets/XCharts/CHANGELOG-EN.md index dceb51fa..9f33a64e 100644 --- a/Assets/XCharts/CHANGELOG-EN.md +++ b/Assets/XCharts/CHANGELOG-EN.md @@ -1,6 +1,7 @@ # 更新日志 +* (2020.08.11) Added `LiquidChart` data change animation#83 * (2020.08.11) Optimize `PieChart` text stack and lead line effects#85 * (2020.08.08) Optimize `LineChart` the rendering performance of dense data * (2020.07.30) Added `LineChart` to configure gradient through `VisualMap` or `ItemStyle`#78 diff --git a/Assets/XCharts/CHANGELOG.md b/Assets/XCharts/CHANGELOG.md index 101970ee..9299b5ae 100644 --- a/Assets/XCharts/CHANGELOG.md +++ b/Assets/XCharts/CHANGELOG.md @@ -1,6 +1,7 @@ # 更新日志 +* (2020.08.11) 增加`LiquidChart`数据变更动画#83 * (2020.08.11) 优化`PieChart`文本堆叠和引线效果#85 * (2020.08.08) 优化`LineChart`密集数据的绘制表现效果 * (2020.07.30) 增加`LineChart`可通过`VisualMap`或`ItemStyle`配置渐变#78 diff --git a/Assets/XCharts/Runtime/LiquidChart.cs b/Assets/XCharts/Runtime/LiquidChart.cs index 508ae896..e0f16fb9 100644 --- a/Assets/XCharts/Runtime/LiquidChart.cs +++ b/Assets/XCharts/Runtime/LiquidChart.cs @@ -149,8 +149,8 @@ namespace XCharts var radius = vessel.runtimeInnerRadius; var serieData = serie.GetSerieData(0); if (serieData == null) return; - - var value = serieData.GetData(1); + var dataChangeDuration = serie.animation.GetUpdateAnimationDuration(); + var value = serieData.GetCurrData(1, dataChangeDuration); if (serie.runtimeCheckValue != value) { serie.runtimeCheckValue = value; diff --git a/Assets/XChartsDemo/Runtime/Demo_Animation.cs b/Assets/XChartsDemo/Runtime/Demo_Animation.cs index bb71be01..5376afed 100644 --- a/Assets/XChartsDemo/Runtime/Demo_Animation.cs +++ b/Assets/XChartsDemo/Runtime/Demo_Animation.cs @@ -102,9 +102,17 @@ namespace XChartsDemo var charts = transform.GetComponentsInChildren(); foreach (var chart in charts) { - var dataCount = chart.series.list[0].dataCount; - var index = UnityEngine.Random.Range(0, dataCount); - chart.UpdateData(0, index, UnityEngine.Random.Range(1, 100)); + if (chart is RingChart) + { + var serieData = chart.series.GetSerie(0).GetSerieData(0); + chart.UpdateData(0, 0, 0, Random.Range(0, serieData.GetData(1))); + } + else + { + var dataCount = chart.series.list[0].dataCount; + var index = UnityEngine.Random.Range(0, dataCount); + chart.UpdateData(0, index, UnityEngine.Random.Range(1, 100)); + } } }