Exemple #1
0
        public static T FindAsset <T>(string name, FindAssetMode type = FindAssetMode.All) where T : Object
        {
            var filter = $"t: {typeof(T).Name} {name}";

            string[] assets = null;

            switch (type)
            {
            case FindAssetMode.All:
            {
                assets = AssetDatabase.FindAssets(filter, _allFolders);
                break;
            }

            case FindAssetMode.Assets:
            {
                assets = AssetDatabase.FindAssets(filter, _assetsFolders);
                break;
            }

            case FindAssetMode.Packages:
            {
                assets = AssetDatabase.FindAssets(filter, _packagesFolders);
                break;
            }
            }

            if (assets.Length >= 1)
            {
                return(AssetDatabase.LoadAssetAtPath <T>(AssetDatabase.GUIDToAssetPath(assets[0])));
            }

            return(default(T));
        }
Exemple #2
0
        public static UnityEngine.Object[] FindFolderAsset(string name, FindAssetMode type = FindAssetMode.All)
        {
            var filter = $"t: Folder {name}";

            string[] assets = null;
            switch (type)
            {
            case FindAssetMode.All:
            {
                assets = AssetDatabase.FindAssets(filter, _allFolders);
                break;
            }

            case FindAssetMode.Assets:
            {
                assets = AssetDatabase.FindAssets(filter, _assetsFolders);
                break;
            }

            case FindAssetMode.Packages:
            {
                assets = AssetDatabase.FindAssets(filter, _packagesFolders);
                break;
            }
            }

            return(assets.Select(a => AssetDatabase.LoadAssetAtPath <UnityEngine.Object>(AssetDatabase.GUIDToAssetPath(a))).ToArray());
        }