From 1313b080c9fd95cca2dec318dd7bd3031795bffd Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Tue, 29 Apr 2025 10:40:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ActionKit/Scripts/Utility/Utility.cs | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Assets/QFramework/Toolkits/_CoreKit/ActionKit/Scripts/Utility/Utility.cs b/Assets/QFramework/Toolkits/_CoreKit/ActionKit/Scripts/Utility/Utility.cs index 359c8d97..b820f6b7 100644 --- a/Assets/QFramework/Toolkits/_CoreKit/ActionKit/Scripts/Utility/Utility.cs +++ b/Assets/QFramework/Toolkits/_CoreKit/ActionKit/Scripts/Utility/Utility.cs @@ -423,4 +423,34 @@ public class Utility list[j] = temp; } } + + + // 该方法用于打乱当前脚本所挂载物体的子物体顺序 + public void ShuffleChildObjects(Transform parent) + { + List children = new List(); + + for (int i = 0; i < parent.childCount; i++) + { + children.Add(parent.GetChild(i)); + } + + // 打乱子物体数组的顺序 + for (int i = 0; i < children.Count; i++) + { + int randomIndex = UnityEngine.Random.Range(i, children.Count); + Transform temp = children[randomIndex]; + children[randomIndex] = children[i]; + children[i] = temp; + } + + // 按照打乱后的顺序重新设置子物体的顺序 + for (int i = 0; i < children.Count; i++) + { + children[i].SetSiblingIndex(i); + } + } + + + } \ No newline at end of file