using System.IO; using UnityEngine; //using UnityEditor; using XRTool.Util; namespace ShadowStudio.Util { /// /// 资源加载代理 /// 支持Resource,Assetbundle,AssetDatabase 加载 /// 其中Resource仅支持Resources路径下加载 /// Assetbundle仅支持ab包加载,需要先将资源打包成Assetbundle /// AssetDatabase仅支持编辑器下加载资源 /// public class ResourceLoader : Singleton, DataLoad { public Object Load(string path) { path = Path.GetFileNameWithoutExtension(path); return Resources.Load(path); } public T Load(string path) where T : Object { path = Path.GetFileNameWithoutExtension(path); return Resources.Load(path); } public Object Load(string path, System.Type systemTypeInstance) { path = Path.GetFileNameWithoutExtension(path); return Resources.Load(path, systemTypeInstance); } public T[] LoadAll(string path) where T : Object { path = Path.GetFileNameWithoutExtension(path); return Resources.LoadAll(path); } public Object[] LoadAll(string path, System.Type systemTypeInstance) { path = Path.GetFileNameWithoutExtension(path); return Resources.LoadAll(path, systemTypeInstance); } public Object[] LoadAll(string path) { path = Path.GetFileNameWithoutExtension(path); return Resources.LoadAll(path); } public LoadInfo LoadAsync(string path) where T : Object { path = Path.GetFileNameWithoutExtension(path); LoadInfo info = new LoadInfo(); info.InitLoadInfo(Resources.LoadAsync(path)); return info; } public LoadInfo LoadAsync(string path) { path = Path.GetFileNameWithoutExtension(path); LoadInfo info = new LoadInfo(); info.InitLoadInfo(Resources.LoadAsync(path)); return info; } public LoadInfo LoadAsync(string path, System.Type type) { path = Path.GetFileNameWithoutExtension(path); LoadInfo info = new LoadInfo(); info.InitLoadInfo(Resources.LoadAsync(path, type)); return info; } public void UnloadAsset(Object assetToUnload) { Resources.UnloadAsset(assetToUnload); } public void UnloadAllAsset() { Resources.UnloadUnusedAssets(); } } }