using System.Collections.Generic; using UnityEditor; using UnityEngine; namespace Ingvar.LiveWatch.Editor { public static class AssetExtensions { public static IEnumerable FindAssetsByType() where T : Object { var guids = AssetDatabase.FindAssets($"t:{typeof(T)}"); foreach (var guid in guids) { var assetPath = AssetDatabase.GUIDToAssetPath(guid); var asset = AssetDatabase.LoadAssetAtPath(assetPath); if (asset != null) { yield return asset; } } } public static void SaveAndRefresh(Object asset) { EditorUtility.SetDirty(asset); AssetDatabase.SaveAssetIfDirty(asset); AssetDatabase.Refresh(); } } }