public static T GetFirstComponent<T>(GameObject root) where T : UnityEngine.Component
{
var queue = new Queue<Transform>();
queue.Enqueue(root.transform);
while(queue.Count > 0)
{
var item = queue.Dequeue();
var t = item.GetComponent<T>();
if (t != null) return t;
for (var i = 0; i < item.childCount; i++)
{
queue.Enqueue(item.GetChild(i));
}
}
return null;
}
Unity广度遍历查询节点和节点下的节点的组件
最新推荐文章于 2023-10-16 11:06:27 发布