mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-17 05:50:09 +00:00
修复Animation不启用时更新数据会导致图表一直刷新的问题
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
|
||||
# 更新日志
|
||||
|
||||
* (2020.12.18) fixed an issue where updating data when `Animation` was not enabled caused the chart to keep refreshing
|
||||
* (2020.12.01) fixed an issue where a newly created chart on `Unity2020` could not be drawn properly
|
||||
* (2020.11.22) Release `v1.6.2` version
|
||||
* (2020.11.22) Fixed an issue where `LineChart` draws an exception when the data is too dense #99
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
# 更新日志
|
||||
|
||||
* (2020.12.18) 修复`Animation`不启用时更新数据会导致图表一直刷新的问题
|
||||
* (2020.12.01) 修复`Unity2020`上新创建的图表无法正常绘制的问题
|
||||
* (2020.11.22) 发布`v1.6.2`版本
|
||||
* (2020.11.22) 修复`LineChart`在数据过于密集时折线绘制异常的问题 #99
|
||||
|
||||
@@ -24,11 +24,7 @@ namespace XCharts
|
||||
var serie = m_Series.GetSerie(serieIndex);
|
||||
if (serie != null)
|
||||
{
|
||||
var serieData = serie.GetSerieData(dataIndex);
|
||||
if (serieData != null)
|
||||
{
|
||||
return serieData.UpdateData(1, value, serie.animation.GetUpdateAnimationDuration());
|
||||
}
|
||||
return serie.UpdateData(dataIndex, 1, value);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -45,10 +41,9 @@ namespace XCharts
|
||||
if (serie != null)
|
||||
{
|
||||
var flag = true;
|
||||
foreach (var serieData in serie.data)
|
||||
for (int i = 0; i < serie.dataCount; i++)
|
||||
{
|
||||
if (!serieData.UpdateData(1, value, serie.animation.GetUpdateAnimationDuration()))
|
||||
flag = false;
|
||||
if (serie.UpdateData(i, 1, value)) flag = false;
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
@@ -1095,7 +1095,7 @@ namespace XCharts
|
||||
{
|
||||
if (sdata.show)
|
||||
total += sdata.GetCurrData(1, animation.GetUpdateAnimationDuration());
|
||||
//total += sdata.GetData(1);
|
||||
//total += sdata.GetData(1);
|
||||
}
|
||||
return total;
|
||||
}
|
||||
@@ -1504,7 +1504,9 @@ namespace XCharts
|
||||
{
|
||||
if (index >= 0 && index < m_Data.Count)
|
||||
{
|
||||
var flag = m_Data[index].UpdateData(dimension, value, animation.GetUpdateAnimationDuration());
|
||||
var animationOpen = animation.enable;
|
||||
var animationDuration = animation.GetUpdateAnimationDuration();
|
||||
var flag = m_Data[index].UpdateData(dimension, value, animationOpen, animationDuration);
|
||||
if (flag) SetVerticesDirty();
|
||||
return flag;
|
||||
}
|
||||
@@ -1524,8 +1526,10 @@ namespace XCharts
|
||||
if (index >= 0 && index < m_Data.Count && values != null)
|
||||
{
|
||||
var serieData = m_Data[index];
|
||||
var animationOpen = animation.enable;
|
||||
var animationDuration = animation.GetUpdateAnimationDuration();
|
||||
for (int i = 0; i < values.Count; i++)
|
||||
serieData.UpdateData(i, values[i], animation.GetUpdateAnimationDuration());
|
||||
serieData.UpdateData(i, values[i], animationOpen, animationDuration);
|
||||
SetVerticesDirty();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -280,7 +280,7 @@ namespace XCharts
|
||||
}
|
||||
}
|
||||
|
||||
public bool UpdateData(int dimension, float value, float animationDuration = 500f)
|
||||
public bool UpdateData(int dimension, float value, bool updateAnimation, float animationDuration = 500f)
|
||||
{
|
||||
if (dimension >= 0 && dimension < data.Count)
|
||||
{
|
||||
@@ -288,7 +288,7 @@ namespace XCharts
|
||||
m_PreviousData[dimension] = GetCurrData(dimension, animationDuration);
|
||||
//m_PreviousData[dimension] = data[dimension];;
|
||||
m_DataUpdateTime[dimension] = Time.time;
|
||||
m_DataUpdateFlag[dimension] = true;
|
||||
m_DataUpdateFlag[dimension] = updateAnimation;
|
||||
data[dimension] = value;
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user