UnityEditor.ProjectWindowUtil.GetAncestors C# (CSharp) Method

GetAncestors() public static method

public static GetAncestors ( int instanceID ) : int[]
instanceID int
return 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();
        }

Usage Example

 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));
         }
     }
 }
All Usage Examples Of UnityEditor.ProjectWindowUtil::GetAncestors