Files
plugin-library/Assets/00.StaryEvo/Runtime/Tool/PanelSystem/UITool/UITool.cs
stary 383c334675
All checks were successful
Plugin Library CI / publish (00.BuildOriginality) (push) Successful in 5s
Plugin Library CI / publish (00.StaryEvo) (push) Successful in 7s
Plugin Library CI / publish (00.StaryEvoTools) (push) Successful in 22s
Plugin Library CI / publish (01.HybridCLR) (push) Successful in 7s
Plugin Library CI / publish (02.InformationSave) (push) Successful in 3s
Plugin Library CI / publish (03.YooAsset) (push) Successful in 35s
Plugin Library CI / publish (04.AudioCore) (push) Successful in 3s
Plugin Library CI / publish (05.TableTextConversion) (push) Successful in 4s
Plugin Library CI / publish (06.UIFarme) (push) Successful in 18s
Plugin Library CI / publish (07.RKTools) (push) Successful in 3s
Plugin Library CI / publish (11.PointCloudTools) (push) Successful in 4s
Plugin Library CI / publish (12.WeixinMinigame) (push) Successful in 1m5s
Plugin Library CI / publish (08.UniTask) (push) Successful in 4s
Plugin Library CI / publish (09.CodeChecker) (push) Successful in 19s
Plugin Library CI / publish (10.StoryEditor) (push) Successful in 5s
Plugin Library CI / publish (10.XNode) (push) Successful in 3s
111
2026-05-15 13:43:34 +08:00

51 lines
1.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using UnityEngine;
/// <summary>
/// UI管理工具包括获取某个子对象组件的操作
/// </summary>
public class UITool
{
/// <summary>
/// 给当前的活动面板获取或者添加一个组件
/// </summary>
/// <typeparam name="T">组件类型</typeparam>
/// <returns>组件</returns>
public static T GetOrAddComponent<T>(GameObject activeGo) where T : Component
{
if (activeGo.GetComponent<T>() == null)
activeGo.AddComponent<T>();
return activeGo.GetComponent<T>();
}
/// <summary>
/// 根据名称获取一个子对象的组件
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="name"></param>
/// <returns></returns>
public static T FindChild<T>(GameObject activeGo, string name)
{
Transform child = null;
Transform[] children = activeGo.GetComponentsInChildren<Transform>(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<T>();
}
else
{
Debug.Log("未找到指定的组件,指定的组件为:" + typeof(T).FullName + "-----" + activeGo);
return default(T);
}
}
}