Unity 6.3
0 онлайн 70 гостей 3 в системе
Вход

AssetDatabase.GetDependencies

Declaration

public static string[] GetDependencies(string pathName);
public static string[] GetDependencies(string pathName, bool recursive);

Параметры

Параметр Описание
pathName Путь к ресурсу, для которого требуются зависимости.
рекурсивный Управляет тем, будет ли этот метод рекурсивно проверять и возвращать все зависимости, включая косвенные зависимости (при установке в true), или возвращать только прямые зависимости (при установке в false).

Возвращаемое значение

string[] Пути всех ассетов, от которых зависит ввод.

Описание

Возвращает массив всех ассетов, которые являются зависимостями ассета на указанном pathName.

Примечание: GetDependencies() получает ассеты, на которые ссылаются другие ассеты. Например, Scene может содержать много GameObjects с прикрепленным к ним Материалом. В этом случае GetDependencies() возвратит путь к Материальным ассетам, но не GameObjects, так как они не являются ассетами на вашем диске.

Если рекурсивный имеет значение true, то возвращаемый список будет также включать сам входной путь. Обратите внимание, что эта функция возвращает все ассеты, на которые ссылается входной ассет; эти ссылки не обязательно требуются во время процесса сборки.

Declaration

public static string[] GetDependencies(string[] pathNames);
public static string[] GetDependencies(string[] pathNames, bool recursive);

Параметры

Параметр Описание
pathNames Путь к ресурсам, для которых требуются зависимости.
рекурсивный Управляет тем, будет ли этот метод рекурсивно проверять и возвращать все зависимости, включая косвенные зависимости (при установке в true), или возвращать только прямые зависимости (при установке в false).

Возвращаемое значение

string[] Пути всех ассетов, от которых зависит ввод.

Описание

Возвращает массив путей ассетов, которые являются зависимостями всех ассетов в списке pathName, который вы предоставляете.

Примечание: GetDependencies() получает ассеты, на которые ссылаются другие ассеты. Например, Scene может содержать много GameObjects с прикрепленным к ним Материалом. В этом случае GetDependencies() возвратит путь к Материальным ассетам, но не к GameObjects, так как они не являются ассетами на вашем диске.

Если рекурсивный имеет значение true, то возвращаемый список будет также включать сами входные пути. Обратите внимание, что эта функция возвращает все ассеты, на которые ссылается входной ассет; эти ссылки не обязательно требуются во время процесса сборки.

using System.Text;
using UnityEditor;
using UnityEngine;

public class GetDependenciesExample : MonoBehaviour { [MenuItem("APIExamples/GetDependencies")] static void GetAllDependenciesForScenes() { var allScenes = AssetDatabase.FindAssets("t:Scene"); string[] allPaths = new string[allScenes.Length]; int curSceneIndex = 0;

foreach (var guid in allScenes) { var path = AssetDatabase.GUIDToAssetPath(guid); allPaths[curSceneIndex] = path; ++curSceneIndex; }

var dependencies = AssetDatabase.GetDependencies(allPaths);

StringBuilder dependenciesString = new StringBuilder(); dependenciesString.AppendLine();

foreach (var curDependency in dependencies) { dependenciesString.Append(curDependency); dependenciesString.AppendLine(); }

Debug.Log("All dependencies for Scenes in Project: " + dependenciesString); } }