public static GetContainingFolder ( string path ) : string | ||
path | string | |
Результат | 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;
}
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()); }