using XGame.Framework.Asyncs;
namespace XGame.Framework.Asset
{
///
/// 资源模块接口
///
public interface IAssetManager
{
///
/// 同步加载接口
/// 使用该接口加载的资源严禁使用Object.Destroy销毁,只能使用Recycle(obj)方法回收
///
/// 返回值类型
/// 可寻址资源名字
/// 返回泛型对象
TResult LoadSync(string addressableName);
///
/// 异步加载接口
/// 使用该接口加载的资源严禁使用Object.Destroy销毁,只能使用Recycle(obj)方法回收
///
/// 返回对象类型
/// 可寻址资源名字
/// 返回异步回调
IAssetLoadAsync LoadAsync(string addressableName);
///
/// 回收资源
///
///
void Recycle(object obj);
///
/// 停止指定的异步加载
///
///
///
void StopAsync(IAssetLoadAsync async);
///
/// 卸载当前未使用的资源
///
void UnloadUnusedAssets();
///
/// 异步加载Scene的AssetBundle到内存
///
///
IAsync LoadSceneBundle(string sceneName);
///
/// 卸载scene的AssetBundle
///
///
void UnLoadSceneBundle(string sceneName);
///
/// 异步销毁
///
///
IAsync Dispose();
///
/// 转换AddressableName
/// 会根据游戏当前语言、品质等级返回对应的AddressableName
///
///
///
string ConvertAddressableName(string addressableName);
}
}