UnityEditor.ProjectWindowUtil.GetContainingFolder C# (CSharp) Method

GetContainingFolder() public static method

public static GetContainingFolder ( string path ) : string
path string
return string
        public static string GetContainingFolder(string path)
        {
            if (!string.IsNullOrEmpty(path))
            {
                char[] trimChars = new char[] { '/' };
                path = path.Trim(trimChars);
                int length = path.LastIndexOf("/", StringComparison.Ordinal);
                if (length != -1)
                {
                    return path.Substring(0, length);
                }
            }
            return null;
        }

Usage Example

        public static int[] GetAncestors(int instanceID)
        {
            List <int> intList = new List <int>();
            int        mainAssetInstanceId1 = AssetDatabase.GetMainAssetInstanceID(AssetDatabase.GetAssetPath(instanceID));

            if (mainAssetInstanceId1 != instanceID)
            {
                intList.Add(mainAssetInstanceId1);
            }
            int mainAssetInstanceId2;

            for (string containingFolder = ProjectWindowUtil.GetContainingFolder(AssetDatabase.GetAssetPath(mainAssetInstanceId1)); !string.IsNullOrEmpty(containingFolder); containingFolder = ProjectWindowUtil.GetContainingFolder(AssetDatabase.GetAssetPath(mainAssetInstanceId2)))
            {
                mainAssetInstanceId2 = AssetDatabase.GetMainAssetInstanceID(containingFolder);
                intList.Add(mainAssetInstanceId2);
            }
            return(intList.ToArray());
        }
All Usage Examples Of UnityEditor.ProjectWindowUtil::GetContainingFolder