public static GetAncestors ( int instanceID ) : int[] | ||
instanceID | int | |
리턴 | int[] |
public static int[] GetAncestors(int instanceID)
{
int num2;
List<int> list = new List<int>();
int mainAssetInstanceID = AssetDatabase.GetMainAssetInstanceID(AssetDatabase.GetAssetPath(instanceID));
if (mainAssetInstanceID != instanceID)
{
list.Add(mainAssetInstanceID);
}
for (string str = GetContainingFolder(AssetDatabase.GetAssetPath(mainAssetInstanceID)); !string.IsNullOrEmpty(str); str = GetContainingFolder(AssetDatabase.GetAssetPath(num2)))
{
num2 = AssetDatabase.GetMainAssetInstanceID(str);
list.Add(num2);
}
return list.ToArray();
}
protected override void GetParentsAbove(int id, HashSet <int> parentsAbove) { if (SavedSearchFilters.IsSavedFilter(id)) { parentsAbove.Add(SavedSearchFilters.GetRootInstanceID()); } else { // AssetDatabase folders (in Assets or Packages) var path = AssetDatabase.GetAssetPath(id); if (Directory.Exists(path)) { parentsAbove.UnionWith(ProjectWindowUtil.GetAncestors(id)); } } }