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();
}
}
}