12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- using UnityEngine;
- namespace UnityEditor.PostProcessing
- {
- using UnityObject = Object;
- static class EditorResources
- {
- static string m_EditorResourcesPath = string.Empty;
- internal static string editorResourcesPath
- {
- get
- {
- if (string.IsNullOrEmpty(m_EditorResourcesPath))
- {
- string path;
- if (SearchForEditorResourcesPath(out path))
- m_EditorResourcesPath = path;
- else
- Debug.LogError("Unable to locate editor resources. Make sure the PostProcessing package has been installed correctly.");
- }
- return m_EditorResourcesPath;
- }
- }
- internal static T Load<T>(string name)
- where T : UnityObject
- {
- return AssetDatabase.LoadAssetAtPath<T>(editorResourcesPath + name);
- }
- static bool SearchForEditorResourcesPath(out string path)
- {
- path = string.Empty;
- string searchStr = "/PostProcessing/Editor Resources/";
- string str = null;
- foreach (var assetPath in AssetDatabase.GetAllAssetPaths())
- {
- if (assetPath.Contains(searchStr))
- {
- str = assetPath;
- break;
- }
- }
- if (str == null)
- return false;
- path = str.Substring(0, str.LastIndexOf(searchStr) + searchStr.Length);
- return true;
- }
- }
- }
|