From d23aaa359e3749f5a7ea27c90085612fd3e74802 Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Mon, 23 Sep 2019 18:47:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=BF=90=E8=A1=8C=E6=97=B6?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=8F=98=E5=8C=96=E6=9B=B2=E7=BA=BF=E5=92=8C?= =?UTF-8?q?=E6=A0=87=E5=BF=97=E7=BB=98=E5=88=B6=E5=BC=82=E5=B8=B8=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Scripts/UI/Internal/Animation.cs | 2 +- Scripts/UI/Internal/CoordinateChart.cs | 4 ++-- Scripts/UI/Internal/SerieData.cs | 12 ++++++++---- Scripts/UI/PieChart.cs | 2 +- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Scripts/UI/Internal/Animation.cs b/Scripts/UI/Internal/Animation.cs index f7b65390..758a44e2 100644 --- a/Scripts/UI/Internal/Animation.cs +++ b/Scripts/UI/Internal/Animation.cs @@ -102,7 +102,7 @@ namespace XCharts public void InitProgress(int data, float curr, float dest) { - if (!m_Inited) + if (!m_Inited && !m_IsEnd) { m_Inited = true; m_DestDataProgress = data; diff --git a/Scripts/UI/Internal/CoordinateChart.cs b/Scripts/UI/Internal/CoordinateChart.cs index 384a749b..83596ac5 100644 --- a/Scripts/UI/Internal/CoordinateChart.cs +++ b/Scripts/UI/Internal/CoordinateChart.cs @@ -240,7 +240,7 @@ namespace XCharts else { var category = tempAxis.GetData(index, m_DataZoom); - m_Tooltip.UpdateContentText(m_Tooltip.GetFormatterContent(index, m_Series,category, m_DataZoom)); + m_Tooltip.UpdateContentText(m_Tooltip.GetFormatterContent(index, m_Series, category, m_DataZoom)); } var pos = m_Tooltip.GetContentPos(); if (pos.x + m_Tooltip.width > chartWidth) @@ -1176,7 +1176,7 @@ namespace XCharts var value = serieData.data[1]; var content = serie.label.GetFormatterContent(serie.name, serieData.name, value, total); serieData.SetLabelActive(true); - serieData.SetLabelText(content); + if (serieData.SetLabelText(content)) RefreshChart(); serieData.SetLabelPosition(serieData.labelPosition); } else diff --git a/Scripts/UI/Internal/SerieData.cs b/Scripts/UI/Internal/SerieData.cs index 3bdd124c..0df82812 100644 --- a/Scripts/UI/Internal/SerieData.cs +++ b/Scripts/UI/Internal/SerieData.cs @@ -94,28 +94,32 @@ namespace XCharts } } - public void SetLabelText(string text) + public bool SetLabelText(string text) { if (labelText) { labelText.text = text; if (m_LabelAutoSize) { - labelRect.sizeDelta = new Vector2(labelText.preferredWidth + m_LabelPaddingLeftRight * 2, + var newSize = new Vector2(labelText.preferredWidth + m_LabelPaddingLeftRight * 2, labelText.preferredHeight + m_LabelPaddingTopBottom * 2); + var sizeChange = newSize.x != labelRect.sizeDelta.x || newSize.y != labelRect.sizeDelta.y; + if (sizeChange) labelRect.sizeDelta = newSize; + return sizeChange; } } + return false; } public float GetLabelWidth() { - if (labelText) return labelText.preferredWidth + m_LabelPaddingLeftRight * 2; + if (labelRect) return labelRect.sizeDelta.x; else return 0; } public float GetLabelHeight() { - if (labelText) return labelText.preferredHeight + m_LabelPaddingTopBottom * 2; + if (labelRect) return labelRect.sizeDelta.y; return 0; } diff --git a/Scripts/UI/PieChart.cs b/Scripts/UI/PieChart.cs index 828ab896..d0563580 100644 --- a/Scripts/UI/PieChart.cs +++ b/Scripts/UI/PieChart.cs @@ -454,7 +454,7 @@ namespace XCharts var value = serieData.data[1]; var total = serie.yTotal; var content = serie.label.GetFormatterContent(serie.name, serieData.name, value, total); - serieData.SetLabelText(content); + if (serieData.SetLabelText(content)) RefreshChart(); } serieData.SetLabelPosition(serieData.labelPosition); }