修复调用UpdateDataName()接口时不会自动刷新的问题

This commit is contained in:
monitor1394
2020-05-29 07:52:21 +08:00
parent c6f32d4324
commit ec62dea1a5
5 changed files with 116 additions and 29 deletions

View File

@@ -131,7 +131,6 @@ namespace XCharts
protected virtual void Update()
{
CheckSize();
CheckLegend();
CheckComponent();
CheckPointerPos();
CheckTooltip();
@@ -142,6 +141,24 @@ namespace XCharts
protected virtual void CheckComponent()
{
if (m_Series.anyDirty)
{
if (m_Series.vertsDirty) RefreshChart();
if (SeriesHelper.IsLabelDirty(m_Series)) m_ReinitLabel = true;
if (SeriesHelper.IsNeedLabelUpdate(m_Series) && !m_RefreshChart) m_RefreshLabel = true;
if (SeriesHelper.IsLabelDirty(m_Series)) m_ReinitLabel = true;
foreach (var serie in m_Series.list)
{
if (serie.titleStyle.componentDirty) m_ReinitTitle = true;
if (serie.nameDirty)
{
m_Legend.SetAllDirty();
RefreshChart();
serie.ClearNameDirty();
}
}
m_Series.ClearDirty();
}
if (m_ThemeInfo.anyDirty)
{
if (m_CheckTheme != m_ThemeInfo.theme)
@@ -188,17 +205,6 @@ namespace XCharts
RefreshChart();
m_Settings.ClearDirty();
}
if (m_Series.anyDirty)
{
if (m_Series.vertsDirty) RefreshChart();
if (SeriesHelper.IsLabelDirty(m_Series)) m_ReinitLabel = true;
if (SeriesHelper.IsNeedLabelUpdate(m_Series) && !m_RefreshChart) m_RefreshLabel = true;
foreach (var serie in m_Series.list)
{
if (serie.titleStyle.componentDirty) m_ReinitTitle = true;
}
m_Series.ClearDirty();
}
}
protected override void OnEnable()
@@ -581,23 +587,6 @@ namespace XCharts
OnSizeChanged();
}
private void CheckLegend()
{
if (m_Legend.show)
{
foreach (var serie in series.list)
{
if (serie.nameDirty)
{
m_Legend.SetAllDirty();
serie.ClearNameDirty();
RefreshChart();
break;
}
}
}
}
private void CheckPointerPos()
{
if (m_ForceOpenRaycastTarget) raycastTarget = true;