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