From 992c5f6735a42149447a92012dba26ea0cc5480f Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Tue, 18 Feb 2025 10:49:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Art/UIPrefab/UIBody3DMenuTree.prefab | 2 +- Assets/Scripts/UI/UIBody3DMenuTree.cs | 71 +++++++++++++-------- 2 files changed, 47 insertions(+), 26 deletions(-) diff --git a/Assets/Art/UIPrefab/UIBody3DMenuTree.prefab b/Assets/Art/UIPrefab/UIBody3DMenuTree.prefab index 0bd268ac..4d98f5d9 100644 --- a/Assets/Art/UIPrefab/UIBody3DMenuTree.prefab +++ b/Assets/Art/UIPrefab/UIBody3DMenuTree.prefab @@ -17,7 +17,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &5541630126728550664 RectTransform: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/UI/UIBody3DMenuTree.cs b/Assets/Scripts/UI/UIBody3DMenuTree.cs index 91786345..367344f9 100644 --- a/Assets/Scripts/UI/UIBody3DMenuTree.cs +++ b/Assets/Scripts/UI/UIBody3DMenuTree.cs @@ -143,41 +143,62 @@ namespace QFramework.Example // SearchContentµ SearchContent.RemoveAllChildren(); - // Contentµ - for (int i = 0; i < Content.childCount; i++) - { - Transform child = Content.GetChild(i); - string name = child.Find("ToggleContent/Label").GetComponent().text; - // Ƿַ - if (name.Contains(str)) - { - // Ƹ嵽SearchContent - GameObject clone = GameObject.Instantiate(SearchItem.gameObject, SearchContent); - if (child.Find("SubContent").childCount > 0) - { - clone.transform.Find("Button/Label").GetComponent().text = "飩" + name; - } - else - { - clone.transform.Find("Button/Label").GetComponent().text = name; - } - } - // ݹ - CheckChildren(child, str); - } + // ݹ + CheckChildren(Content, str); + } // ݹ private void CheckChildren(Transform parent, string str) { + // ǰµ for (int i = 0; i < parent.childCount; i++) { Transform child = parent.GetChild(i); - if (child.name.Contains(str)) + // Բ ToggleContent/Label + Transform labelTransform = child.Find("ToggleContent/Label"); + if (labelTransform != null) { - GameObject clone = GameObject.Instantiate(child.gameObject, SearchContent); + TextMeshProUGUI textComponent = labelTransform.GetComponent(); + if (textComponent != null) + { + string name = textComponent.text; + // Ƿַ + if (name.Contains(str)) + { + // Ƹ嵽 SearchContent + GameObject clone = GameObject.Instantiate(SearchItem.gameObject, SearchContent); + Transform subContent = child.Find("SubContent"); + // Ƿ + if (subContent.childCount > 0) + { + Transform buttonLabel = clone.transform.Find("Button/Label"); + if (buttonLabel != null) + { + TextMeshProUGUI buttonText = buttonLabel.GetComponent(); + if (buttonText != null) + { + buttonText.text = "飩" + name; + } + } + // ݹ鵱ǰ + CheckChildren(subContent, str); + } + else + { + Transform buttonLabel = clone.transform.Find("Button/Label"); + if (buttonLabel != null) + { + TextMeshProUGUI buttonText = buttonLabel.GetComponent(); + if (buttonText != null) + { + buttonText.text = name; + } + } + } + } + } } - CheckChildren(child, str); } }