From 772701a549718814d0295d55c934a268c9d64967 Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Thu, 9 Apr 2020 07:26:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D`Legend`=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E5=BC=82=E5=B8=B8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/XCharts/CHANGELOG.md | 1 + Assets/XCharts/Runtime/Internal/BaseChart.cs | 4 +-- Assets/XCharts/Runtime/Utility/ChartHelper.cs | 26 ++++++++----------- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/Assets/XCharts/CHANGELOG.md b/Assets/XCharts/CHANGELOG.md index 9d29e6e2..088a0726 100644 --- a/Assets/XCharts/CHANGELOG.md +++ b/Assets/XCharts/CHANGELOG.md @@ -1,6 +1,7 @@ # 更新日志 +* (2020.04.09) 修复`Legend`初始化异常的问题 * (2020.04.08) 增加`PieChart`通过`ItemStyle`设置边框的支持 * (2020.03.29) 增加`Axis`的`ceilRate`设置最大最小值的取整倍率 * (2020.03.29) 增加`BarChart`可通过`itemStyle`的`cornerRadius`设置`圆角柱图` diff --git a/Assets/XCharts/Runtime/Internal/BaseChart.cs b/Assets/XCharts/Runtime/Internal/BaseChart.cs index 259aafcd..c2ec4bca 100644 --- a/Assets/XCharts/Runtime/Internal/BaseChart.cs +++ b/Assets/XCharts/Runtime/Internal/BaseChart.cs @@ -172,13 +172,13 @@ namespace XCharts protected override void OnEnable() { base.OnEnable(); - Awake(); + ChartHelper.ActiveAllObject(transform, true); } protected override void OnDisable() { base.OnDisable(); - ChartHelper.HideAllObject(transform); + ChartHelper.ActiveAllObject(transform, false); } #if UNITY_EDITOR diff --git a/Assets/XCharts/Runtime/Utility/ChartHelper.cs b/Assets/XCharts/Runtime/Utility/ChartHelper.cs index a08aa0db..67ef70f5 100644 --- a/Assets/XCharts/Runtime/Utility/ChartHelper.cs +++ b/Assets/XCharts/Runtime/Utility/ChartHelper.cs @@ -77,19 +77,22 @@ namespace XCharts } public static void HideAllObject(Transform parent, string match = null) + { + ActiveAllObject(parent, false, match); + } + + public static void ActiveAllObject(Transform parent, bool active, string match = null) { for (int i = 0; i < parent.childCount; i++) { if (match == null) - SetActive(parent.GetChild(i), false); - //parent.GetChild(i).gameObject.SetActive(false); + SetActive(parent.GetChild(i), active); else { var go = parent.GetChild(i); if (go.name.StartsWith(match)) { - SetActive(go, false); - //go.gameObject.SetActive(false); + SetActive(go, active); } } } @@ -97,24 +100,17 @@ namespace XCharts public static void DestroyAllChildren(Transform parent) { -#if UNITY_2019_1_OR_NEWER -#else if (parent == null) return; -#if UNITY_EDITOR && UNITY_2018_3_OR_NEWER - if (PrefabUtility.IsPartOfAnyPrefab(parent.gameObject)) + var childCount = parent.childCount; + for (int i = childCount - 1; i >= 0; i--) { - return; - } -#endif - while (parent.childCount > 0) - { - var go = parent.GetChild(0); + var go = parent.GetChild(i); if (go != null) { GameObject.DestroyImmediate(go.gameObject); + //GameObject.Destroy(go.gameObject); } } -#endif } public static string GetFullName(Transform transform)