public static List <TCastTo> Assets <TCastTo>(this HUMAssets.Data.FindType find) where TCastTo : UnityEngine.Object { var assetIds = UnityEditor.AssetDatabase.FindAssets("t:" + find.type); var assetsList = new List <TCastTo>(); foreach (string assetId in assetIds) { var asset = UnityEditor.AssetDatabase.LoadAssetAtPath <UnityEngine.Object>(UnityEditor.AssetDatabase.GUIDToAssetPath(assetId)) as TCastTo; if (asset != null) { assetsList.Add(asset); } } return(assetsList); }
public static ScriptableObject[] ScriptableObjects(this HUMAssets.Data.FindType find) { string[] assetIds = UnityEditor.AssetDatabase.FindAssets("t:" + find.type); var assetsList = new List <ScriptableObject>(); if (find.type.IsInterface) { assetIds = UnityEditor.AssetDatabase.FindAssets("t:" + typeof(ScriptableObject)); assetsList = new List <ScriptableObject>(); foreach (string assetId in assetIds) { var asset = UnityEditor.AssetDatabase.LoadAssetAtPath <ScriptableObject>(UnityEditor.AssetDatabase.GUIDToAssetPath(assetId)) as ScriptableObject; if (asset != null && asset.GetType().Inherits(find.type)) { assetsList.Add(asset); } } } else { assetIds = UnityEditor.AssetDatabase.FindAssets("t:" + find.type); assetsList = new List <ScriptableObject>(); foreach (string assetId in assetIds) { var asset = UnityEditor.AssetDatabase.LoadAssetAtPath <ScriptableObject>(UnityEditor.AssetDatabase.GUIDToAssetPath(assetId)) as ScriptableObject; if (asset != null) { assetsList.Add(asset); } } } return(assetsList.ToArray()); }
public static T[] ScriptableObjects <T>(this HUMAssets.Data.FindType find) { return(ScriptableObjects(find).Cast <T>().ToArray()); }
public static HUMAssets.Data.FindTypeAll All(this HUMAssets.Data.FindType find) { return(new HUMAssets.Data.FindTypeAll(find)); }