UnityEngine.GameObject.GetComponentsInChildren C# (CSharp) Méthode

GetComponentsInChildren() public méthode

public GetComponentsInChildren ( Type type ) : UnityEngine.Component[]
type System.Type
Résultat UnityEngine.Component[]
		public Component[] GetComponentsInChildren(Type type){}
		public Component[] GetComponentsInChildren(Type type, bool includeInactive){}

Same methods

GameObject::GetComponentsInChildren ( Type type, bool includeInactive ) : UnityEngine.Component[]
GameObject::GetComponentsInChildren ( ) : T[]
GameObject::GetComponentsInChildren ( bool includeInactive ) : T[]

Usage Example

    /// <summary>
    /// 获取非Shader的内置资源引用
    /// </summary>
    /// <param name="asset"></param>
    /// <returns></returns>
    private List <UnityEngine.Object> getReferenceBuildInResourceExcludeShader(UnityEngine.GameObject asset)
    {
        // 主要提起以下几种资源:
        // 1. 内置Texture
        // 2. 内置材质
        // 人物模型和粒子特效
        var assetlist  = new List <UnityEngine.Object>();
        var allrenders = asset.GetComponentsInChildren <Renderer>();

        foreach (var render in allrenders)
        {
            if (render.sharedMaterial != null && EditorResourceUtilities.isBuildInResource(render.sharedMaterial))
            {
                assetlist.Add(render.sharedMaterial);
            }
        }
        // UI组件
        var allgraphics = asset.GetComponentsInChildren <Graphic>();

        foreach (var graphic in allgraphics)
        {
            if (graphic.material != null && EditorResourceUtilities.isBuildInResource(graphic.material))
            {
                assetlist.Add(graphic.material);
            }
            if (graphic.mainTexture != null && EditorResourceUtilities.isBuildInResource(graphic.mainTexture))
            {
                assetlist.Add(graphic.mainTexture);
            }
        }
        return(assetlist);
    }
All Usage Examples Of UnityEngine.GameObject::GetComponentsInChildren