mirror of https://github.com/tuyoogame/YooAsset
parent
49e0d9729d
commit
027ae02aa0
|
@ -20,7 +20,8 @@ namespace YooAsset
|
||||||
private bool _isUnloadSafe = true;
|
private bool _isUnloadSafe = true;
|
||||||
private string _packageName;
|
private string _packageName;
|
||||||
private bool _simulationOnEditor;
|
private bool _simulationOnEditor;
|
||||||
private int _loadingMaxNumber;
|
public int LoadingMaxNumber { private set; get; }
|
||||||
|
public int DownloadFailedTryAgain { private set; get; }
|
||||||
public IDecryptionServices DecryptionServices { private set; get; }
|
public IDecryptionServices DecryptionServices { private set; get; }
|
||||||
public IBundleServices BundleServices { private set; get; }
|
public IBundleServices BundleServices { private set; get; }
|
||||||
|
|
||||||
|
@ -29,11 +30,13 @@ namespace YooAsset
|
||||||
/// 初始化
|
/// 初始化
|
||||||
/// 注意:在使用AssetSystem之前需要初始化
|
/// 注意:在使用AssetSystem之前需要初始化
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void Initialize(string packageName, bool simulationOnEditor, int loadingMaxNumber, IDecryptionServices decryptionServices, IBundleServices bundleServices)
|
public void Initialize(string packageName, bool simulationOnEditor, int loadingMaxNumber, int downloadFailedTryAgain,
|
||||||
|
IDecryptionServices decryptionServices, IBundleServices bundleServices)
|
||||||
{
|
{
|
||||||
_packageName = packageName;
|
_packageName = packageName;
|
||||||
_simulationOnEditor = simulationOnEditor;
|
_simulationOnEditor = simulationOnEditor;
|
||||||
_loadingMaxNumber = loadingMaxNumber;
|
LoadingMaxNumber = loadingMaxNumber;
|
||||||
|
DownloadFailedTryAgain = downloadFailedTryAgain;
|
||||||
DecryptionServices = decryptionServices;
|
DecryptionServices = decryptionServices;
|
||||||
BundleServices = bundleServices;
|
BundleServices = bundleServices;
|
||||||
}
|
}
|
||||||
|
@ -63,7 +66,7 @@ namespace YooAsset
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (loadingCount < _loadingMaxNumber)
|
if (loadingCount < LoadingMaxNumber)
|
||||||
provider.Update();
|
provider.Update();
|
||||||
|
|
||||||
if (provider.IsDone == false)
|
if (provider.IsDone == false)
|
||||||
|
|
|
@ -81,7 +81,7 @@ namespace YooAsset
|
||||||
// 1. 从服务器下载
|
// 1. 从服务器下载
|
||||||
if (_steps == ESteps.Download)
|
if (_steps == ESteps.Download)
|
||||||
{
|
{
|
||||||
int failedTryAgain = int.MaxValue;
|
int failedTryAgain = Impl.DownloadFailedTryAgain;
|
||||||
_downloader = DownloadSystem.BeginDownload(MainBundleInfo, failedTryAgain);
|
_downloader = DownloadSystem.BeginDownload(MainBundleInfo, failedTryAgain);
|
||||||
_steps = ESteps.CheckDownload;
|
_steps = ESteps.CheckDownload;
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,7 +70,7 @@ namespace YooAsset
|
||||||
// 1. 从服务器下载
|
// 1. 从服务器下载
|
||||||
if (_steps == ESteps.Download)
|
if (_steps == ESteps.Download)
|
||||||
{
|
{
|
||||||
int failedTryAgain = int.MaxValue;
|
int failedTryAgain = Impl.DownloadFailedTryAgain;
|
||||||
_downloader = DownloadSystem.BeginDownload(MainBundleInfo, failedTryAgain);
|
_downloader = DownloadSystem.BeginDownload(MainBundleInfo, failedTryAgain);
|
||||||
_steps = ESteps.CheckDownload;
|
_steps = ESteps.CheckDownload;
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,7 @@ namespace YooAsset
|
||||||
// 1. 下载远端文件
|
// 1. 下载远端文件
|
||||||
if (_steps == ESteps.Download)
|
if (_steps == ESteps.Download)
|
||||||
{
|
{
|
||||||
int failedTryAgain = int.MaxValue;
|
int failedTryAgain = Impl.DownloadFailedTryAgain;
|
||||||
_downloader = DownloadSystem.BeginDownload(MainBundleInfo, failedTryAgain);
|
_downloader = DownloadSystem.BeginDownload(MainBundleInfo, failedTryAgain);
|
||||||
_steps = ESteps.CheckDownload;
|
_steps = ESteps.CheckDownload;
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,7 +61,7 @@ namespace YooAsset
|
||||||
// 1. 下载远端文件
|
// 1. 下载远端文件
|
||||||
if (_steps == ESteps.Download)
|
if (_steps == ESteps.Download)
|
||||||
{
|
{
|
||||||
int failedTryAgain = int.MaxValue;
|
int failedTryAgain = Impl.DownloadFailedTryAgain;
|
||||||
_downloader = DownloadSystem.BeginDownload(MainBundleInfo, failedTryAgain);
|
_downloader = DownloadSystem.BeginDownload(MainBundleInfo, failedTryAgain);
|
||||||
_steps = ESteps.CheckDownload;
|
_steps = ESteps.CheckDownload;
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,6 +43,11 @@ namespace YooAsset
|
||||||
/// 注意:默认值为MaxValue
|
/// 注意:默认值为MaxValue
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int AssetLoadingMaxNumber = int.MaxValue;
|
public int AssetLoadingMaxNumber = int.MaxValue;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 下载失败尝试次数
|
||||||
|
/// </summary>
|
||||||
|
public int DownloadFailedTryAgain = int.MaxValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -74,6 +74,14 @@ namespace YooAsset
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 反序列化(JSON文件)
|
||||||
|
/// </summary>
|
||||||
|
public static PackageManifest DeserializeFromJson(string jsonContent)
|
||||||
|
{
|
||||||
|
return JsonUtility.FromJson<PackageManifest>(jsonContent);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 反序列化(二进制文件)
|
/// 反序列化(二进制文件)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -87,7 +87,9 @@ namespace YooAsset
|
||||||
var editorSimulateModeImpl = new EditorSimulateModeImpl();
|
var editorSimulateModeImpl = new EditorSimulateModeImpl();
|
||||||
_bundleServices = editorSimulateModeImpl;
|
_bundleServices = editorSimulateModeImpl;
|
||||||
_playModeServices = editorSimulateModeImpl;
|
_playModeServices = editorSimulateModeImpl;
|
||||||
_assetSystemImpl.Initialize(PackageName, true, parameters.AssetLoadingMaxNumber, parameters.DecryptionServices, _bundleServices);
|
_assetSystemImpl.Initialize(PackageName, true,
|
||||||
|
parameters.AssetLoadingMaxNumber, parameters.DownloadFailedTryAgain,
|
||||||
|
parameters.DecryptionServices, _bundleServices);
|
||||||
|
|
||||||
var initializeParameters = parameters as EditorSimulateModeParameters;
|
var initializeParameters = parameters as EditorSimulateModeParameters;
|
||||||
initializeOperation = editorSimulateModeImpl.InitializeAsync(initializeParameters.LocationToLower, initializeParameters.SimulateManifestFilePath);
|
initializeOperation = editorSimulateModeImpl.InitializeAsync(initializeParameters.LocationToLower, initializeParameters.SimulateManifestFilePath);
|
||||||
|
@ -97,7 +99,9 @@ namespace YooAsset
|
||||||
var offlinePlayModeImpl = new OfflinePlayModeImpl();
|
var offlinePlayModeImpl = new OfflinePlayModeImpl();
|
||||||
_bundleServices = offlinePlayModeImpl;
|
_bundleServices = offlinePlayModeImpl;
|
||||||
_playModeServices = offlinePlayModeImpl;
|
_playModeServices = offlinePlayModeImpl;
|
||||||
_assetSystemImpl.Initialize(PackageName, false, parameters.AssetLoadingMaxNumber, parameters.DecryptionServices, _bundleServices);
|
_assetSystemImpl.Initialize(PackageName, false,
|
||||||
|
parameters.AssetLoadingMaxNumber, parameters.DownloadFailedTryAgain,
|
||||||
|
parameters.DecryptionServices, _bundleServices);
|
||||||
|
|
||||||
var initializeParameters = parameters as OfflinePlayModeParameters;
|
var initializeParameters = parameters as OfflinePlayModeParameters;
|
||||||
initializeOperation = offlinePlayModeImpl.InitializeAsync(PackageName, initializeParameters.LocationToLower);
|
initializeOperation = offlinePlayModeImpl.InitializeAsync(PackageName, initializeParameters.LocationToLower);
|
||||||
|
@ -107,7 +111,9 @@ namespace YooAsset
|
||||||
var hostPlayModeImpl = new HostPlayModeImpl();
|
var hostPlayModeImpl = new HostPlayModeImpl();
|
||||||
_bundleServices = hostPlayModeImpl;
|
_bundleServices = hostPlayModeImpl;
|
||||||
_playModeServices = hostPlayModeImpl;
|
_playModeServices = hostPlayModeImpl;
|
||||||
_assetSystemImpl.Initialize(PackageName, false, parameters.AssetLoadingMaxNumber, parameters.DecryptionServices, _bundleServices);
|
_assetSystemImpl.Initialize(PackageName, false,
|
||||||
|
parameters.AssetLoadingMaxNumber, parameters.DownloadFailedTryAgain,
|
||||||
|
parameters.DecryptionServices, _bundleServices);
|
||||||
|
|
||||||
var initializeParameters = parameters as HostPlayModeParameters;
|
var initializeParameters = parameters as HostPlayModeParameters;
|
||||||
initializeOperation = hostPlayModeImpl.InitializeAsync(
|
initializeOperation = hostPlayModeImpl.InitializeAsync(
|
||||||
|
@ -187,6 +193,11 @@ namespace YooAsset
|
||||||
parameters.AssetLoadingMaxNumber = 1;
|
parameters.AssetLoadingMaxNumber = 1;
|
||||||
YooLogger.Warning($"{nameof(parameters.AssetLoadingMaxNumber)} minimum value is 1");
|
YooLogger.Warning($"{nameof(parameters.AssetLoadingMaxNumber)} minimum value is 1");
|
||||||
}
|
}
|
||||||
|
if (parameters.DownloadFailedTryAgain < 1)
|
||||||
|
{
|
||||||
|
parameters.DownloadFailedTryAgain = 1;
|
||||||
|
YooLogger.Warning($"{nameof(parameters.DownloadFailedTryAgain)} minimum value is 1");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
private void InitializeOperation_Completed(AsyncOperationBase op)
|
private void InitializeOperation_Completed(AsyncOperationBase op)
|
||||||
{
|
{
|
||||||
|
@ -228,7 +239,7 @@ namespace YooAsset
|
||||||
DebugCheckInitialize();
|
DebugCheckInitialize();
|
||||||
return _playModeServices.PreDownloadContentAsync(packageVersion, timeout);
|
return _playModeServices.PreDownloadContentAsync(packageVersion, timeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 清理包裹未使用的缓存文件
|
/// 清理包裹未使用的缓存文件
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
Loading…
Reference in New Issue