mirror of https://github.com/tuyoogame/YooAsset
update runtime code
parent
b53b6a4246
commit
b34374adfa
|
@ -15,7 +15,8 @@ namespace YooAsset
|
||||||
CheckDownload,
|
CheckDownload,
|
||||||
Unpack,
|
Unpack,
|
||||||
CheckUnpack,
|
CheckUnpack,
|
||||||
LoadFile,
|
LoadBundleFile,
|
||||||
|
LoadDeliveryFile,
|
||||||
CheckLoadFile,
|
CheckLoadFile,
|
||||||
Done,
|
Done,
|
||||||
}
|
}
|
||||||
|
@ -59,22 +60,22 @@ namespace YooAsset
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_steps = ESteps.LoadFile;
|
_steps = ESteps.LoadBundleFile;
|
||||||
FileLoadPath = MainBundleInfo.Bundle.StreamingFilePath;
|
FileLoadPath = MainBundleInfo.Bundle.StreamingFilePath;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
_steps = ESteps.LoadFile;
|
_steps = ESteps.LoadBundleFile;
|
||||||
FileLoadPath = MainBundleInfo.Bundle.StreamingFilePath;
|
FileLoadPath = MainBundleInfo.Bundle.StreamingFilePath;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else if (MainBundleInfo.LoadMode == BundleInfo.ELoadMode.LoadFromCache)
|
else if (MainBundleInfo.LoadMode == BundleInfo.ELoadMode.LoadFromCache)
|
||||||
{
|
{
|
||||||
_steps = ESteps.LoadFile;
|
_steps = ESteps.LoadBundleFile;
|
||||||
FileLoadPath = MainBundleInfo.Bundle.CachedDataFilePath;
|
FileLoadPath = MainBundleInfo.Bundle.CachedDataFilePath;
|
||||||
}
|
}
|
||||||
else if (MainBundleInfo.LoadMode == BundleInfo.ELoadMode.LoadFromDelivery)
|
else if (MainBundleInfo.LoadMode == BundleInfo.ELoadMode.LoadFromDelivery)
|
||||||
{
|
{
|
||||||
_steps = ESteps.LoadFile;
|
_steps = ESteps.LoadDeliveryFile;
|
||||||
FileLoadPath = MainBundleInfo.DeliveryFilePath;
|
FileLoadPath = MainBundleInfo.DeliveryFilePath;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -108,7 +109,7 @@ namespace YooAsset
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_steps = ESteps.LoadFile;
|
_steps = ESteps.LoadBundleFile;
|
||||||
return; //下载完毕等待一帧再去加载!
|
return; //下载完毕等待一帧再去加载!
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -139,12 +140,12 @@ namespace YooAsset
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_steps = ESteps.LoadFile;
|
_steps = ESteps.LoadBundleFile;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 5. 加载AssetBundle
|
// 5. 加载AssetBundle
|
||||||
if (_steps == ESteps.LoadFile)
|
if (_steps == ESteps.LoadBundleFile)
|
||||||
{
|
{
|
||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
// 注意:Unity2017.4编辑器模式下,如果AssetBundle文件不存在会导致编辑器崩溃,这里做了预判。
|
// 注意:Unity2017.4编辑器模式下,如果AssetBundle文件不存在会导致编辑器崩溃,这里做了预判。
|
||||||
|
@ -219,7 +220,35 @@ namespace YooAsset
|
||||||
_steps = ESteps.CheckLoadFile;
|
_steps = ESteps.CheckLoadFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 6. 检测AssetBundle加载结果
|
// 6. 加载AssetBundle
|
||||||
|
if (_steps == ESteps.LoadDeliveryFile)
|
||||||
|
{
|
||||||
|
// 设置下载进度
|
||||||
|
DownloadProgress = 1f;
|
||||||
|
DownloadedBytes = (ulong)MainBundleInfo.Bundle.FileSize;
|
||||||
|
|
||||||
|
// Load assetBundle file
|
||||||
|
var loadMethod = (EBundleLoadMethod)MainBundleInfo.Bundle.LoadMethod;
|
||||||
|
if (loadMethod == EBundleLoadMethod.Normal)
|
||||||
|
{
|
||||||
|
ulong offset = MainBundleInfo.DeliveryFileOffset;
|
||||||
|
if (_isWaitForAsyncComplete)
|
||||||
|
CacheBundle = AssetBundle.LoadFromFile(FileLoadPath, 0, offset);
|
||||||
|
else
|
||||||
|
_createRequest = AssetBundle.LoadFromFileAsync(FileLoadPath, 0, offset);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_steps = ESteps.Done;
|
||||||
|
Status = EStatus.Failed;
|
||||||
|
LastError = $"Delivery file not support encryption : {MainBundleInfo.Bundle.BundleName}";
|
||||||
|
YooLogger.Error(LastError);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_steps = ESteps.CheckLoadFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 7. 检测AssetBundle加载结果
|
||||||
if (_steps == ESteps.CheckLoadFile)
|
if (_steps == ESteps.CheckLoadFile)
|
||||||
{
|
{
|
||||||
if (_createRequest != null)
|
if (_createRequest != null)
|
||||||
|
|
Loading…
Reference in New Issue