mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-05-29 20:48:47 +00:00
update file system
修正2.3.11版本同步加载本地加密文件失败的问题。
This commit is contained in:
@@ -126,7 +126,7 @@ namespace YooAsset
|
|||||||
public virtual FSDownloadFileOperation DownloadFileAsync(PackageBundle bundle, DownloadFileOptions options)
|
public virtual FSDownloadFileOperation DownloadFileAsync(PackageBundle bundle, DownloadFileOptions options)
|
||||||
{
|
{
|
||||||
// 注意:业务层的解压下载器会依赖内置文件系统的下载方法
|
// 注意:业务层的解压下载器会依赖内置文件系统的下载方法
|
||||||
options.LocalFilePath = GetBuildinFileLoadPath(bundle);
|
options.ImportFilePath = GetBuildinFileLoadPath(bundle);
|
||||||
return _unpackFileSystem.DownloadFileAsync(bundle, options);
|
return _unpackFileSystem.DownloadFileAsync(bundle, options);
|
||||||
}
|
}
|
||||||
public virtual FSLoadBundleOperation LoadBundleFile(PackageBundle bundle)
|
public virtual FSLoadBundleOperation LoadBundleFile(PackageBundle bundle)
|
||||||
|
|||||||
@@ -82,15 +82,31 @@ namespace YooAsset
|
|||||||
return oldDownloader;
|
return oldDownloader;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建新的下载器
|
// 获取下载地址
|
||||||
DefaultDownloadFileOperation newDownloader;
|
if (string.IsNullOrEmpty(options.ImportFilePath))
|
||||||
if (string.IsNullOrEmpty(options.LocalFilePath))
|
|
||||||
{
|
{
|
||||||
// 远端下载地址
|
// 注意:如果是解压文件系统类,这里会返回本地内置文件的下载路径
|
||||||
options.MainURL = _fileSystem.RemoteServices.GetRemoteMainURL(bundle.FileName);
|
options.MainURL = _fileSystem.RemoteServices.GetRemoteMainURL(bundle.FileName);
|
||||||
options.FallbackURL = _fileSystem.RemoteServices.GetRemoteFallbackURL(bundle.FileName);
|
options.FallbackURL = _fileSystem.RemoteServices.GetRemoteFallbackURL(bundle.FileName);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 注意:把本地导入文件路径转换为下载器请求地址
|
||||||
|
options.MainURL = DownloadSystemHelper.ConvertToWWWPath(options.ImportFilePath);
|
||||||
|
options.FallbackURL = options.MainURL;
|
||||||
|
}
|
||||||
|
|
||||||
// 创建新的下载器
|
// 创建新的下载器
|
||||||
|
DefaultDownloadFileOperation newDownloader;
|
||||||
|
bool isRequestLocalFile = DownloadSystemHelper.IsRequestLocalFile(options.MainURL);
|
||||||
|
if (isRequestLocalFile)
|
||||||
|
{
|
||||||
|
newDownloader = new DownloadLocalFileOperation(_fileSystem, bundle, options);
|
||||||
|
AddChildOperation(newDownloader);
|
||||||
|
_downloaders.Add(bundle.BundleGUID, newDownloader);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
if (bundle.FileSize >= _fileSystem.ResumeDownloadMinimumSize)
|
if (bundle.FileSize >= _fileSystem.ResumeDownloadMinimumSize)
|
||||||
{
|
{
|
||||||
newDownloader = new DownloadResumeFileOperation(_fileSystem, bundle, options);
|
newDownloader = new DownloadResumeFileOperation(_fileSystem, bundle, options);
|
||||||
@@ -104,18 +120,6 @@ namespace YooAsset
|
|||||||
_downloaders.Add(bundle.BundleGUID, newDownloader);
|
_downloaders.Add(bundle.BundleGUID, newDownloader);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
// 注意:把本地文件路径指定为可下载地址
|
|
||||||
options.MainURL = DownloadSystemHelper.ConvertToWWWPath(options.LocalFilePath);
|
|
||||||
options.FallbackURL = options.MainURL;
|
|
||||||
|
|
||||||
// 创建新的下载器
|
|
||||||
newDownloader = new DownloadLocalFileOperation(_fileSystem, bundle, options);
|
|
||||||
AddChildOperation(newDownloader);
|
|
||||||
_downloaders.Add(bundle.BundleGUID, newDownloader);
|
|
||||||
}
|
|
||||||
|
|
||||||
return newDownloader;
|
return newDownloader;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -159,9 +159,12 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
if (ExecuteWhileDone())
|
if (ExecuteWhileDone())
|
||||||
{
|
{
|
||||||
//TODO 同步加载失败
|
//TODO 尝试同步加载远端的资源文件失败
|
||||||
if (Status == EOperationStatus.Failed)
|
if (Status == EOperationStatus.Failed)
|
||||||
|
{
|
||||||
YooLogger.Error($"Try load bundle {Bundle.BundleName} from remote !");
|
YooLogger.Error($"Try load bundle {Bundle.BundleName} from remote !");
|
||||||
|
YooLogger.Error($"The load remote bundle url : {_requestURL}");
|
||||||
|
}
|
||||||
|
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -177,9 +177,12 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
if (ExecuteWhileDone())
|
if (ExecuteWhileDone())
|
||||||
{
|
{
|
||||||
//TODO 同步加载失败
|
//TODO 尝试同步加载远端的资源文件失败
|
||||||
if (Status == EOperationStatus.Failed)
|
if (Status == EOperationStatus.Failed)
|
||||||
|
{
|
||||||
YooLogger.Error($"Try load bundle {Bundle.BundleName} from remote !");
|
YooLogger.Error($"Try load bundle {Bundle.BundleName} from remote !");
|
||||||
|
YooLogger.Error($"The load remote bundle url : {_requestURL}");
|
||||||
|
}
|
||||||
|
|
||||||
_steps = ESteps.Done;
|
_steps = ESteps.Done;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ namespace YooAsset
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 拷贝的本地文件路径
|
/// 拷贝的本地文件路径
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string LocalFilePath { set; get; }
|
public string ImportFilePath { set; get; }
|
||||||
|
|
||||||
public DownloadFileOptions(int failedTryAgain, int timeout)
|
public DownloadFileOptions(int failedTryAgain, int timeout)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ namespace YooAsset
|
|||||||
public FSDownloadFileOperation CreateDownloader(int failedTryAgain, int timeout)
|
public FSDownloadFileOperation CreateDownloader(int failedTryAgain, int timeout)
|
||||||
{
|
{
|
||||||
DownloadFileOptions options = new DownloadFileOptions(failedTryAgain, timeout);
|
DownloadFileOptions options = new DownloadFileOptions(failedTryAgain, timeout);
|
||||||
options.LocalFilePath = _importFilePath;
|
options.ImportFilePath = _importFilePath;
|
||||||
return _fileSystem.DownloadFileAsync(Bundle, options);
|
return _fileSystem.DownloadFileAsync(Bundle, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user