修复Chart在运行时被删除时会异常报错的问题 (#269)

This commit is contained in:
monitor1394
2023-08-12 22:18:25 +08:00
parent d0d5c2a101
commit 71c8bc1499
5 changed files with 17 additions and 3 deletions

View File

@@ -76,6 +76,7 @@ slug: /changelog
日志详情: 日志详情:
* (2023.08.12) 修复`Chart`在运行时被删除时会异常报错的问题 (#269)
* (2023.08.11) 修复`DataZoom`开启时可能会导致无法添加数据的问题 * (2023.08.11) 修复`DataZoom`开启时可能会导致无法添加数据的问题
* (2023.08.11) 修复`SerieData`单独设置`ItemStyle``itemFormatter`不生效的问题 * (2023.08.11) 修复`SerieData`单独设置`ItemStyle``itemFormatter`不生效的问题
* (2023.08.10) 优化`BarChart``Tooltip``Trigger``Item`时的表现 * (2023.08.10) 优化`BarChart``Tooltip``Trigger``Item`时的表现

View File

@@ -72,8 +72,7 @@ namespace XCharts.Runtime
var ignoreColumn = string.IsNullOrEmpty(tooltip.ignoreDataDefaultContent); var ignoreColumn = string.IsNullOrEmpty(tooltip.ignoreDataDefaultContent);
var titleActive = !string.IsNullOrEmpty(data.title); var titleActive = !string.IsNullOrEmpty(data.title);
if (titleActive != title.gameObject.activeSelf) ChartHelper.SetActive(title, titleActive);
title.gameObject.SetActive(titleActive);
title.SetText(data.title); title.SetText(data.title);
m_ColumnMaxWidth.Clear(); m_ColumnMaxWidth.Clear();

View File

@@ -323,6 +323,8 @@ namespace XCharts.Runtime
protected override void OnDestroy() protected override void OnDestroy()
{ {
base.OnDestroy();
XChartsMgr.RemoveChart(chartName);
for (int i = transform.childCount - 1; i >= 0; i--) for (int i = transform.childCount - 1; i >= 0; i--)
{ {
DestroyImmediate(transform.GetChild(i).gameObject); DestroyImmediate(transform.GetChild(i).gameObject);

View File

@@ -127,16 +127,21 @@ namespace XCharts.Runtime
} }
#if UNITY_EDITOR #if UNITY_EDITOR
protected override void Reset() { } protected override void Reset()
{
base.Reset();
}
protected override void OnValidate() protected override void OnValidate()
{ {
base.OnValidate();
m_IsOnValidate = true; m_IsOnValidate = true;
} }
#endif #endif
protected override void OnDestroy() protected override void OnDestroy()
{ {
base.OnDestroy();
for (int i = transform.childCount - 1; i >= 0; i--) for (int i = transform.childCount - 1; i >= 0; i--)
{ {
DestroyImmediate(transform.GetChild(i).gameObject); DestroyImmediate(transform.GetChild(i).gameObject);

View File

@@ -55,10 +55,17 @@ namespace XCharts.Runtime
protected override void Awake() protected override void Awake()
{ {
base.Awake();
raycastTarget = false; raycastTarget = false;
SetActive(true); SetActive(true);
} }
protected override void OnDestroy()
{
base.OnDestroy();
GraphicRegistry.UnregisterGraphicForCanvas(canvas, this);
}
public void SetTextPadding(TextPadding padding) public void SetTextPadding(TextPadding padding)
{ {
m_PaddingLeft = padding.left; m_PaddingLeft = padding.left;