“Einheit Finden Sie alle skriptierbaren Objekte eines Typs” Code-Antworten

Einheit Finden Sie alle skriptierbaren Objekte eines Typs

 public static T[] GetAllInstances<T>() where T : ScriptableObject
     {
         string[] guids = AssetDatabase.FindAssets("t:"+ typeof(T).Name);  //FindAssets uses tags check documentation for more info
         T[] a = new T[guids.Length];
         for(int i =0;i<guids.Length;i++)         //probably could get optimized 
         {
             string path = AssetDatabase.GUIDToAssetPath(guids[i]);
             a[i] = AssetDatabase.LoadAssetAtPath<T>(path);
         }
 
         return a;
 
     }
Crescent Fresh

Einheit Finden Sie alle skriptierbaren Objekte eines Typs

public class CharacterList
    {
        List<Character> characterList = new List<Character>();

        void PopulateList()
        {
            string[] assetNames = AssetDatabase.FindAssets("Your_Filter", new[] { "Assets/YourFolder" });
            characterList.Clear();
            foreach (string SOName in assetNames)
            {
                var SOpath    = AssetDatabase.GUIDToAssetPath(SOName);
                var character = AssetDatabase.LoadAssetAtPath<Character>(SOpath);
                characterList.Add(character);
            }
        }
    }
Crescent Fresh

Ähnliche Antworten wie “Einheit Finden Sie alle skriptierbaren Objekte eines Typs”

Fragen ähnlich wie “Einheit Finden Sie alle skriptierbaren Objekte eines Typs”

Weitere verwandte Antworten zu “Einheit Finden Sie alle skriptierbaren Objekte eines Typs” auf C#

Durchsuchen Sie beliebte Code-Antworten nach Sprache

Durchsuchen Sie andere Codesprachen