using UnityEngine; /// /// UI管理工具,包括获取某个子对象组件的操作 /// public class UITool { /// /// 给当前的活动面板获取或者添加一个组件 /// /// 组件类型 /// 组件 public static T GetOrAddComponent(GameObject activeGo) where T : Component { if (activeGo.GetComponent() == null) activeGo.AddComponent(); return activeGo.GetComponent(); } /// /// 根据名称获取一个子对象的组件 /// /// /// /// public static T FindChild(GameObject activeGo, string name) { Transform child = null; Transform[] children = activeGo.GetComponentsInChildren(true); for (int i = 0; i < children.Length; i++) { if (children[i].name.Equals(name)) { child = children[i]; break; } } if (child != null) { return child.GetComponent(); } else { Debug.Log("未找到指定的组件,指定的组件为:" + typeof(T).FullName + "-----" + activeGo); return default(T); } } }