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()); }
public static int[] GetAncestors(int instanceID) { List <int> list = new List <int>(); int mainAssetInstanceID = AssetDatabase.GetMainAssetInstanceID(AssetDatabase.GetAssetPath(instanceID)); bool flag = mainAssetInstanceID != instanceID; if (flag) { list.Add(mainAssetInstanceID); } string containingFolder = ProjectWindowUtil.GetContainingFolder(AssetDatabase.GetAssetPath(mainAssetInstanceID)); while (!string.IsNullOrEmpty(containingFolder)) { int mainAssetInstanceID2 = AssetDatabase.GetMainAssetInstanceID(containingFolder); list.Add(mainAssetInstanceID2); containingFolder = ProjectWindowUtil.GetContainingFolder(AssetDatabase.GetAssetPath(mainAssetInstanceID2)); } return(list.ToArray()); }