using UnityEngine; using Object = UnityEngine.Object; public class Util { // recursive : 자식의 자식의 자식까지 재귀적으로 찾을지 여부 public static T FindChild(GameObject go, string name = null, bool recursive = false) where T : Object { if(go == null) return null; // 재귀적으로 찾을것인가? if (recursive) { foreach(T component in go.GetComponentsInChildren()) { if (string.IsNullOrEmpty(name) || component.name == name) return component; } } // 재귀적으로 찾지 않을것인가? else { for (int i = 0; i < go.transform.childCount; i++) { Transform transform = go.transform.GetChild(i); if (string.IsNullOrEmpty(name) || transform.name == name) { T component = transform.GetComponent(); if (component != null) return component; } } } return null; } }