添加缺失插件
This commit is contained in:
42
Assets/Asset Usage Finder/Editor/AUFUtils.cs
Normal file
42
Assets/Asset Usage Finder/Editor/AUFUtils.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AssetUsageFinder {
|
||||
public static class AufUtils {
|
||||
public static Object[] LoadAllAssetsAtPath (string assetPath) {
|
||||
// prevents error "Do not use readobjectthreaded on scene objects!"
|
||||
return typeof (SceneAsset) == AssetDatabase.GetMainAssetTypeAtPath (assetPath)
|
||||
? new[] { AssetDatabase.LoadMainAssetAtPath (assetPath) }
|
||||
: AssetDatabase.LoadAllAssetsAtPath (assetPath);
|
||||
}
|
||||
|
||||
public static T FirstOfType<T> () where T : Object {
|
||||
var typeName = typeof (T).Name;
|
||||
|
||||
var guids = AssetDatabase.FindAssets (string.Format ("t:{0}", typeName));
|
||||
if (!guids.Any ()) {
|
||||
AssetDatabase.Refresh (ImportAssetOptions.ForceUpdate);
|
||||
}
|
||||
|
||||
if (guids.Length == 0) {
|
||||
Asr.Fail ();
|
||||
Report (typeName);
|
||||
return null;
|
||||
}
|
||||
|
||||
foreach (var guid in guids) {
|
||||
var path = AssetDatabase.GUIDToAssetPath (guid);
|
||||
var asset = (T)AssetDatabase.LoadAssetAtPath (path, typeof (T));
|
||||
return asset;
|
||||
}
|
||||
|
||||
Report (typeName);
|
||||
return null;
|
||||
}
|
||||
|
||||
static void Report (string typeName) {
|
||||
Debug.LogError (string.Format ("Cannot find '{0}' (AUF style resource). Please try to remove AUF and import again, or restart Unity", typeName));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user