From 90f5c1ef8ad84ae4c2dd6f1841abf24f76ede8e5 Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Fri, 10 Apr 2020 07:32:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96Legend=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=EF=BC=8C=E9=98=B2=E6=AD=A2=E5=87=BA=E7=8E=B0=E9=A2=84?= =?UTF-8?q?=E8=AE=BE=E4=B8=8B=E5=88=A0=E9=99=A4=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 --- Assets/XCharts/Runtime/Helper/LegendHelper.cs | 3 +-- Assets/XCharts/Runtime/Internal/BaseChart.cs | 2 +- Assets/XCharts/Runtime/Utility/ChartHelper.cs | 9 +++++++-- Assets/XChartsDemo/Runtime/Demo.cs | 5 +++-- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Assets/XCharts/Runtime/Helper/LegendHelper.cs b/Assets/XCharts/Runtime/Helper/LegendHelper.cs index e115e453..bae8e964 100644 --- a/Assets/XCharts/Runtime/Helper/LegendHelper.cs +++ b/Assets/XCharts/Runtime/Helper/LegendHelper.cs @@ -46,8 +46,7 @@ namespace XCharts var objAnchorMin = legend.location.runtimeAnchorMin; var objAnchorMax = legend.location.runtimeAnchorMax; var objPivot = legend.location.runtimePivot; - - var btnObj = ChartHelper.AddObject(objName, parent, objAnchorMin, objAnchorMax, objPivot, sizeDelta); + var btnObj = ChartHelper.AddObject(objName, parent, objAnchorMin, objAnchorMax, objPivot, sizeDelta, i); var iconObj = ChartHelper.AddObject("icon", btnObj.transform, anchorMin, anchorMax, pivot, iconSizeDelta); var contentObj = ChartHelper.AddObject("content", btnObj.transform, anchorMin, anchorMax, pivot, sizeDelta); var img = ChartHelper.GetOrAddComponent(btnObj); diff --git a/Assets/XCharts/Runtime/Internal/BaseChart.cs b/Assets/XCharts/Runtime/Internal/BaseChart.cs index c2ec4bca..b6097bec 100644 --- a/Assets/XCharts/Runtime/Internal/BaseChart.cs +++ b/Assets/XCharts/Runtime/Internal/BaseChart.cs @@ -291,7 +291,7 @@ namespace XCharts totalLegend++; } m_Legend.RemoveButton(); - ChartHelper.DestroyAllChildren(legendObject.transform); + ChartHelper.HideAllObject(legendObject); if (!m_Legend.show) return; for (int i = 0; i < datas.Count; i++) { diff --git a/Assets/XCharts/Runtime/Utility/ChartHelper.cs b/Assets/XCharts/Runtime/Utility/ChartHelper.cs index 67ef70f5..f11c5139 100644 --- a/Assets/XCharts/Runtime/Utility/ChartHelper.cs +++ b/Assets/XCharts/Runtime/Utility/ChartHelper.cs @@ -108,7 +108,6 @@ namespace XCharts if (go != null) { GameObject.DestroyImmediate(go.gameObject); - //GameObject.Destroy(go.gameObject); } } } @@ -140,7 +139,7 @@ namespace XCharts } public static GameObject AddObject(string name, Transform parent, Vector2 anchorMin, - Vector2 anchorMax, Vector2 pivot, Vector2 sizeDelta) + Vector2 anchorMax, Vector2 pivot, Vector2 sizeDelta, int replaceIndex = -1) { GameObject obj; if (parent.Find(name)) @@ -150,6 +149,12 @@ namespace XCharts obj.transform.localPosition = Vector3.zero; obj.transform.localScale = Vector3.one; } + else if (replaceIndex >= 0 && replaceIndex < parent.childCount) + { + obj = parent.GetChild(replaceIndex).gameObject; + if (!obj.name.Equals(name)) obj.name = name; + SetActive(obj, true); + } else { obj = new GameObject(); diff --git a/Assets/XChartsDemo/Runtime/Demo.cs b/Assets/XChartsDemo/Runtime/Demo.cs index 433e7225..0aea6ba0 100644 --- a/Assets/XChartsDemo/Runtime/Demo.cs +++ b/Assets/XChartsDemo/Runtime/Demo.cs @@ -108,7 +108,7 @@ namespace XChartsDemo var btnPanel = transform.Find("chart_list"); m_BtnClone = transform.Find("btn_clone").gameObject; m_BtnClone.SetActive(false); - ChartHelper.DestroyAllChildren(btnPanel); + ChartHelper.HideAllObject(btnPanel); foreach (var module in m_ChartModule) { var btnName = "btn_" + module.name; @@ -116,7 +116,8 @@ namespace XChartsDemo if (btnPanel.Find(btnName)) { btn = btnPanel.Find(btnName).gameObject; - btn.SetActive(true); + btn.name = btnName; + ChartHelper.SetActive(btn, true); } else {