diff --git a/Assets/YooAsset/Runtime/CacheSystem/PatchCacheVerifier.cs b/Assets/YooAsset/Runtime/CacheSystem/PatchCacheVerifier.cs
index f82c2a4..ce9e027 100644
--- a/Assets/YooAsset/Runtime/CacheSystem/PatchCacheVerifier.cs
+++ b/Assets/YooAsset/Runtime/CacheSystem/PatchCacheVerifier.cs
@@ -11,7 +11,7 @@ namespace YooAsset
///
internal abstract class PatchCacheVerifier
{
- public abstract bool InitVerifier(PatchManifest appPatchManifest, PatchManifest localPatchManifest, bool weaklyUpdate);
+ public abstract bool InitVerifier(HostPlayModeImpl impl, bool weaklyUpdate);
public abstract bool UpdateVerifier();
public abstract float GetVerifierProgress();
@@ -42,22 +42,18 @@ namespace YooAsset
private int _verifyMaxNum;
private int _verifyTotalCount;
- public override bool InitVerifier(PatchManifest appPatchManifest, PatchManifest localPatchManifest, bool weaklyUpdate)
+ public override bool InitVerifier(HostPlayModeImpl impl, bool weaklyUpdate)
{
// 遍历所有文件然后验证并缓存合法文件
- foreach (var patchBundle in localPatchManifest.BundleList)
+ foreach (var patchBundle in impl.LocalPatchManifest.BundleList)
{
// 忽略缓存文件
if (CacheSystem.IsCached(patchBundle))
continue;
// 忽略APP资源
- // 注意:如果是APP资源并且哈希值相同,则不需要下载
- if (appPatchManifest.TryGetPatchBundle(patchBundle.BundleName, out PatchBundle appPatchBundle))
- {
- if (appPatchBundle.IsBuildin && appPatchBundle.Equals(patchBundle))
- continue;
- }
+ if (impl.IsBuildinPatchBundle(patchBundle))
+ continue;
// 注意:在弱联网模式下,我们需要验证指定资源版本的所有资源完整性
if (weaklyUpdate)
@@ -167,22 +163,18 @@ namespace YooAsset
private int _verifyMaxNum;
private int _verifyTotalCount;
- public override bool InitVerifier(PatchManifest appPatchManifest, PatchManifest localPatchManifest, bool weaklyUpdate)
+ public override bool InitVerifier(HostPlayModeImpl impl, bool weaklyUpdate)
{
// 遍历所有文件然后验证并缓存合法文件
- foreach (var patchBundle in localPatchManifest.BundleList)
+ foreach (var patchBundle in impl.LocalPatchManifest.BundleList)
{
// 忽略缓存文件
if (CacheSystem.IsCached(patchBundle))
continue;
// 忽略APP资源
- // 注意:如果是APP资源并且哈希值相同,则不需要下载
- if (appPatchManifest.TryGetPatchBundle(patchBundle.BundleName, out PatchBundle appPatchBundle))
- {
- if (appPatchBundle.IsBuildin && appPatchBundle.Equals(patchBundle))
- continue;
- }
+ if (impl.IsBuildinPatchBundle(patchBundle))
+ continue;
// 注意:在弱联网模式下,我们需要验证指定资源版本的所有资源完整性
if (weaklyUpdate)
diff --git a/Assets/YooAsset/Runtime/PatchSystem/Operations/InitializationOperation.cs b/Assets/YooAsset/Runtime/PatchSystem/Operations/InitializationOperation.cs
index 2753163..9dc7ccf 100644
--- a/Assets/YooAsset/Runtime/PatchSystem/Operations/InitializationOperation.cs
+++ b/Assets/YooAsset/Runtime/PatchSystem/Operations/InitializationOperation.cs
@@ -134,75 +134,15 @@ namespace YooAsset
///
internal sealed class HostPlayModeInitializationOperation : InitializationOperation
{
- private enum ESteps
+ internal HostPlayModeInitializationOperation()
{
- None,
- LoadManifest,
- CopyManifest,
- Done,
- }
-
- private readonly HostPlayModeImpl _impl;
- private readonly string _buildinPackageName;
- private AppManifestLoader _appManifestLoader;
- private AppManifestCopyer _appManifestCopyer;
- private ESteps _steps = ESteps.None;
-
- internal HostPlayModeInitializationOperation(HostPlayModeImpl impl, string buildinPackageName)
- {
- _impl = impl;
- _buildinPackageName = buildinPackageName;
- _appManifestLoader = new AppManifestLoader(buildinPackageName);
}
internal override void Start()
{
- _steps = ESteps.LoadManifest;
+ Status = EOperationStatus.Succeed;
}
internal override void Update()
{
- if (_steps == ESteps.None || _steps == ESteps.Done)
- return;
-
- if (_steps == ESteps.LoadManifest)
- {
- _appManifestLoader.Update();
- Progress = _appManifestLoader.Progress();
- if (_appManifestLoader.IsDone() == false)
- return;
-
- if (_appManifestLoader.Result == null)
- {
- _steps = ESteps.Done;
- Status = EOperationStatus.Failed;
- Error = _appManifestLoader.Error;
- }
- else
- {
- _impl.SetAppPatchManifest(_appManifestLoader.Result);
- _impl.SetLocalPatchManifest(_appManifestLoader.Result);
- _appManifestCopyer = new AppManifestCopyer(_buildinPackageName, _appManifestLoader.BuildinPackageCRC);
- _steps = ESteps.CopyManifest;
- }
- }
-
- if (_steps == ESteps.CopyManifest)
- {
- _appManifestCopyer.Update();
- if (_appManifestCopyer.IsDone() == false)
- return;
-
- if (_appManifestCopyer.Result == false)
- {
- _steps = ESteps.Done;
- Status = EOperationStatus.Failed;
- Error = _appManifestCopyer.Error;
- }
- else
- {
- _steps = ESteps.Done;
- Status = EOperationStatus.Succeed;
- }
- }
}
}
diff --git a/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdateManifestOperation.cs b/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdateManifestOperation.cs
index 214416e..dd26511 100644
--- a/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdateManifestOperation.cs
+++ b/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdateManifestOperation.cs
@@ -154,7 +154,7 @@ namespace YooAsset
if (_steps == ESteps.InitVerifyingCache)
{
- _patchCacheVerifier.InitVerifier(_impl.AppPatchManifest, _impl.LocalPatchManifest, false);
+ _patchCacheVerifier.InitVerifier(_impl, false);
_verifyTime = UnityEngine.Time.realtimeSinceStartup;
_steps = ESteps.UpdateVerifyingCache;
}
@@ -286,7 +286,7 @@ namespace YooAsset
if (_steps == ESteps.InitVerifyingCache)
{
- if (_patchCacheVerifier.InitVerifier(_impl.AppPatchManifest, _impl.LocalPatchManifest, true))
+ if (_patchCacheVerifier.InitVerifier(_impl, true))
{
_verifyTime = UnityEngine.Time.realtimeSinceStartup;
_steps = ESteps.UpdateVerifyingCache;
diff --git a/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdatePackageOperation.cs b/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdatePackageOperation.cs
index 3d74a38..b054ede 100644
--- a/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdatePackageOperation.cs
+++ b/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdatePackageOperation.cs
@@ -205,12 +205,8 @@ namespace YooAsset
continue;
// 忽略APP资源
- // 注意:如果是APP资源并且哈希值相同,则不需要下载
- if (_impl.AppPatchManifest.TryGetPatchBundle(patchBundle.BundleName, out PatchBundle appPatchBundle))
- {
- if (appPatchBundle.IsBuildin && appPatchBundle.Equals(patchBundle))
- continue;
- }
+ if (_impl.IsBuildinPatchBundle(patchBundle))
+ continue;
downloadList.Add(patchBundle);
}
diff --git a/Assets/YooAsset/Runtime/PatchSystem/PatchBundle.cs b/Assets/YooAsset/Runtime/PatchSystem/PatchBundle.cs
index 1944ce1..4ea56d2 100644
--- a/Assets/YooAsset/Runtime/PatchSystem/PatchBundle.cs
+++ b/Assets/YooAsset/Runtime/PatchSystem/PatchBundle.cs
@@ -38,21 +38,16 @@ namespace YooAsset
public int Flags;
- ///
- /// 是否为加密文件
- ///
- public bool IsEncrypted { private set; get; }
-
- ///
- /// 是否为内置文件
- ///
- public bool IsBuildin { private set; get; }
-
///
/// 是否为原生文件
///
public bool IsRawFile { private set; get; }
+ ///
+ /// 是否为加密文件
+ ///
+ public bool IsEncrypted { private set; get; }
+
///
/// 文件名称
///
@@ -69,7 +64,7 @@ namespace YooAsset
if (string.IsNullOrEmpty(_cachedFilePath) == false)
return _cachedFilePath;
- string cacheRoot = SandboxHelper.GetCacheFolderPath();
+ string cacheRoot = SandboxHelper.GetCacheFolderPath();
_cachedFilePath = $"{cacheRoot}/{FileName}";
return _cachedFilePath;
}
@@ -104,16 +99,14 @@ namespace YooAsset
///
/// 设置Flags
///
- public void SetFlagsValue(bool isEncrypted, bool isBuildin, bool isRawFile)
+ public void SetFlagsValue(bool isRawFile, bool isEncrypted)
{
- IsEncrypted = isEncrypted;
- IsBuildin = isBuildin;
IsRawFile = isRawFile;
+ IsEncrypted = isEncrypted;
BitMask32 mask = new BitMask32(0);
- if (isEncrypted) mask.Open(0);
- if (isBuildin) mask.Open(1);
- if (isRawFile) mask.Open(2);
+ if (isRawFile) mask.Open(0);
+ if (isEncrypted) mask.Open(1);
Flags = mask;
}
@@ -123,9 +116,8 @@ namespace YooAsset
public void ParseFlagsValue()
{
BitMask32 value = Flags;
- IsEncrypted = value.Test(0);
- IsBuildin = value.Test(1);
- IsRawFile = value.Test(2);
+ IsRawFile = value.Test(0);
+ IsEncrypted = value.Test(1);
}
///
@@ -179,11 +171,11 @@ namespace YooAsset
}
///
- /// 是否为纯内置资源(不带任何Tag的资源)
+ /// 是否包含任意Tags
///
- public bool IsPureBuildin()
+ public bool HasAnyTags()
{
- if (Tags == null || Tags.Length == 0)
+ if (Tags != null && Tags.Length > 0)
return true;
else
return false;
@@ -196,7 +188,7 @@ namespace YooAsset
{
if (FileHash == otherBundle.FileHash)
return true;
-
+
return false;
}
}
diff --git a/Assets/YooAsset/Runtime/PatchSystem/PatchManifest.cs b/Assets/YooAsset/Runtime/PatchSystem/PatchManifest.cs
index adf5468..840e404 100644
--- a/Assets/YooAsset/Runtime/PatchSystem/PatchManifest.cs
+++ b/Assets/YooAsset/Runtime/PatchSystem/PatchManifest.cs
@@ -32,11 +32,6 @@ namespace YooAsset
///
public string PackageName;
- ///
- /// 内置资源的标签列表(首包资源)
- ///
- public string BuildinTags;
-
///
/// 资源列表(主动收集的资源列表)
///
diff --git a/Assets/YooAsset/Runtime/PatchSystem/PlayMode/HostPlayModeImpl.cs b/Assets/YooAsset/Runtime/PatchSystem/PlayMode/HostPlayModeImpl.cs
index b7b5517..cf6bc30 100644
--- a/Assets/YooAsset/Runtime/PatchSystem/PlayMode/HostPlayModeImpl.cs
+++ b/Assets/YooAsset/Runtime/PatchSystem/PlayMode/HostPlayModeImpl.cs
@@ -8,24 +8,25 @@ namespace YooAsset
internal class HostPlayModeImpl : IBundleServices
{
// 补丁清单
- internal PatchManifest AppPatchManifest { private set; get; }
internal PatchManifest LocalPatchManifest { private set; get; }
// 参数相关
private bool _locationToLower;
private string _defaultHostServer;
private string _fallbackHostServer;
+ private IQueryServices _queryServices;
///
/// 异步初始化
///
- public InitializationOperation InitializeAsync(bool locationToLower, string buildinPackageName, string defaultHostServer, string fallbackHostServer)
+ public InitializationOperation InitializeAsync(bool locationToLower, string defaultHostServer, string fallbackHostServer, IQueryServices queryServices)
{
_locationToLower = locationToLower;
_defaultHostServer = defaultHostServer;
_fallbackHostServer = fallbackHostServer;
+ _queryServices = queryServices;
- var operation = new HostPlayModeInitializationOperation(this, buildinPackageName);
+ var operation = new HostPlayModeInitializationOperation();
OperationSystem.StartOperation(operation);
return operation;
}
@@ -118,12 +119,8 @@ namespace YooAsset
continue;
// 忽略APP资源
- // 注意:如果是APP资源并且哈希值相同,则不需要下载
- if (AppPatchManifest.TryGetPatchBundle(patchBundle.BundleName, out PatchBundle appPatchBundle))
- {
- if (appPatchBundle.IsBuildin && appPatchBundle.Equals(patchBundle))
- continue;
- }
+ if (IsBuildinPatchBundle(patchBundle))
+ continue;
downloadList.Add(patchBundle);
}
@@ -150,17 +147,11 @@ namespace YooAsset
continue;
// 忽略APP资源
- // 注意:如果是APP资源并且哈希值相同,则不需要下载
- if (AppPatchManifest.TryGetPatchBundle(patchBundle.BundleName, out PatchBundle appPatchBundle))
- {
- if (appPatchBundle.IsBuildin && appPatchBundle.Equals(patchBundle))
- continue;
- }
+ if (IsBuildinPatchBundle(patchBundle))
+ continue;
- // 如果是纯内置资源,则统一下载
- // 注意:可能是新增的或者变化的内置资源
- // 注意:可能是由热更资源转换的内置资源
- if (patchBundle.IsPureBuildin())
+ // 如果未带任何标记,则统一下载
+ if (patchBundle.HasAnyTags() == false)
{
downloadList.Add(patchBundle);
}
@@ -220,12 +211,8 @@ namespace YooAsset
continue;
// 忽略APP资源
- // 注意:如果是APP资源并且哈希值相同,则不需要下载
- if (AppPatchManifest.TryGetPatchBundle(patchBundle.BundleName, out PatchBundle appPatchBundle))
- {
- if (appPatchBundle.IsBuildin && appPatchBundle.Equals(patchBundle))
- continue;
- }
+ if (IsBuildinPatchBundle(patchBundle))
+ continue;
downloadList.Add(patchBundle);
}
@@ -245,20 +232,19 @@ namespace YooAsset
private List GetUnpackListByTags(string[] tags)
{
List downloadList = new List(1000);
- foreach (var patchBundle in AppPatchManifest.BundleList)
+ foreach (var patchBundle in LocalPatchManifest.BundleList)
{
- // 如果不是内置资源
- if (patchBundle.IsBuildin == false)
- continue;
-
// 忽略缓存文件
if (CacheSystem.IsCached(patchBundle))
continue;
// 查询DLC资源
- if (patchBundle.HasTag(tags))
+ if (IsBuildinPatchBundle(patchBundle))
{
- downloadList.Add(patchBundle);
+ if (patchBundle.HasTag(tags))
+ {
+ downloadList.Add(patchBundle);
+ }
}
}
@@ -277,17 +263,16 @@ namespace YooAsset
private List GetUnpackListByAll()
{
List downloadList = new List(1000);
- foreach (var patchBundle in AppPatchManifest.BundleList)
+ foreach (var patchBundle in LocalPatchManifest.BundleList)
{
- // 如果不是内置资源
- if (patchBundle.IsBuildin == false)
- continue;
-
// 忽略缓存文件
if (CacheSystem.IsCached(patchBundle))
continue;
- downloadList.Add(patchBundle);
+ if (IsBuildinPatchBundle(patchBundle))
+ {
+ downloadList.Add(patchBundle);
+ }
}
return PatchHelper.ConvertToUnpackList(downloadList);
@@ -322,16 +307,15 @@ namespace YooAsset
return bundleInfo;
}
- // 设置资源清单
- internal void SetAppPatchManifest(PatchManifest patchManifest)
- {
- AppPatchManifest = patchManifest;
- }
internal void SetLocalPatchManifest(PatchManifest patchManifest)
{
LocalPatchManifest = patchManifest;
LocalPatchManifest.InitAssetPathMapping(_locationToLower);
}
+ internal bool IsBuildinPatchBundle(PatchBundle patchBundle)
+ {
+ return _queryServices.QueryStreamingAssets(patchBundle.FileName);
+ }
#region IBundleServices接口
private BundleInfo CreateBundleInfo(PatchBundle patchBundle)
@@ -347,13 +331,10 @@ namespace YooAsset
}
// 查询APP资源
- if (AppPatchManifest.TryGetPatchBundle(patchBundle.BundleName, out PatchBundle appPatchBundle))
+ if (IsBuildinPatchBundle(patchBundle))
{
- if (appPatchBundle.IsBuildin && appPatchBundle.Equals(patchBundle))
- {
- BundleInfo bundleInfo = new BundleInfo(appPatchBundle, BundleInfo.ELoadMode.LoadFromStreaming);
- return bundleInfo;
- }
+ BundleInfo bundleInfo = new BundleInfo(patchBundle, BundleInfo.ELoadMode.LoadFromStreaming);
+ return bundleInfo;
}
// 从服务端下载
diff --git a/Assets/YooAsset/Runtime/Services/IQueryServices.cs b/Assets/YooAsset/Runtime/Services/IQueryServices.cs
new file mode 100644
index 0000000..2d3b100
--- /dev/null
+++ b/Assets/YooAsset/Runtime/Services/IQueryServices.cs
@@ -0,0 +1,11 @@
+
+namespace YooAsset
+{
+ public interface IQueryServices
+ {
+ ///
+ /// 查询内置资源
+ ///
+ bool QueryStreamingAssets(string fileName);
+ }
+}
\ No newline at end of file
diff --git a/Assets/YooAsset/Runtime/Services/IQueryServices.cs.meta b/Assets/YooAsset/Runtime/Services/IQueryServices.cs.meta
new file mode 100644
index 0000000..9726499
--- /dev/null
+++ b/Assets/YooAsset/Runtime/Services/IQueryServices.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 71b4ac2c7d7f15b40a457f355d535f33
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/YooAsset/Runtime/YooAssets.cs b/Assets/YooAsset/Runtime/YooAssets.cs
index 88eb8b5..4f4a91f 100644
--- a/Assets/YooAsset/Runtime/YooAssets.cs
+++ b/Assets/YooAsset/Runtime/YooAssets.cs
@@ -40,11 +40,6 @@ namespace YooAsset
///
public bool LocationToLower = false;
- ///
- /// 内置的资源包裹名称
- ///
- public string BuildinPackageName = string.Empty;
-
///
/// 资源定位服务接口
///
@@ -83,6 +78,10 @@ namespace YooAsset
///
public class OfflinePlayModeParameters : InitializeParameters
{
+ ///
+ /// 内置的资源包裹名称
+ ///
+ public string BuildinPackageName = string.Empty;
}
///
@@ -100,11 +99,6 @@ namespace YooAsset
///
public string FallbackHostServer;
- ///
- /// 当缓存池被污染的时候清理缓存池
- ///
- public bool ClearCacheWhenDirty = false;
-
#if UNITY_WEBGL
///
/// WEBGL模式不支持多线程下载
@@ -121,6 +115,11 @@ namespace YooAsset
/// 下载文件校验等级
///
public EVerifyLevel VerifyLevel = EVerifyLevel.High;
+
+ ///
+ /// 查询服务类
+ ///
+ public IQueryServices QueryServices = null;
}
@@ -151,36 +150,45 @@ namespace YooAsset
if (parameters == null)
throw new Exception($"YooAsset create parameters is null.");
- if (string.IsNullOrEmpty(parameters.BuildinPackageName))
- throw new Exception($"{nameof(parameters.BuildinPackageName)} is empty.");
-
- if (parameters.LocationServices == null)
- throw new Exception($"{nameof(IBundleServices)} is null.");
-
#if !UNITY_EDITOR
if (parameters is EditorSimulateModeParameters)
throw new Exception($"Editor simulate mode only support unity editor.");
#endif
- _locationServices = parameters.LocationServices;
-
- // 创建驱动器
- if (_isInitialize == false)
- {
- _isInitialize = true;
- UnityEngine.GameObject driverGo = new UnityEngine.GameObject("[YooAsset]");
- driverGo.AddComponent();
- UnityEngine.Object.DontDestroyOnLoad(driverGo);
-
-#if DEBUG
- driverGo.AddComponent();
-#endif
- }
+ // 鉴定运行模式
+ if (parameters is EditorSimulateModeParameters)
+ _playMode = EPlayMode.EditorSimulateMode;
+ else if (parameters is OfflinePlayModeParameters)
+ _playMode = EPlayMode.OfflinePlayMode;
+ else if (parameters is HostPlayModeParameters)
+ _playMode = EPlayMode.HostPlayMode;
else
+ throw new NotImplementedException();
+
+ if (parameters.LocationServices == null)
+ throw new Exception($"{nameof(IBundleServices)} is null.");
+
+ if (_playMode == EPlayMode.OfflinePlayMode)
+ {
+ var playModeParameters = parameters as OfflinePlayModeParameters;
+ if (string.IsNullOrEmpty(playModeParameters.BuildinPackageName))
+ throw new Exception($"{nameof(playModeParameters.BuildinPackageName)} is empty.");
+ }
+
+ if (_playMode == EPlayMode.HostPlayMode)
+ {
+ var playModeParameters = parameters as HostPlayModeParameters;
+ if (playModeParameters.QueryServices == null)
+ throw new Exception($"{nameof(IQueryServices)} is null.");
+ }
+
+ if (_isInitialize)
{
throw new Exception("YooAsset is initialized yet.");
}
+ _locationServices = parameters.LocationServices;
+
// 检测参数范围
if (parameters.AssetLoadingMaxNumber < 1)
{
@@ -193,17 +201,20 @@ namespace YooAsset
YooLogger.Warning($"{nameof(parameters.OperationSystemMaxTimeSlice)} minimum value is 30 milliseconds");
}
- // 鉴定运行模式
- if (parameters is EditorSimulateModeParameters)
- _playMode = EPlayMode.EditorSimulateMode;
- else if (parameters is OfflinePlayModeParameters)
- _playMode = EPlayMode.OfflinePlayMode;
- else if (parameters is HostPlayModeParameters)
- _playMode = EPlayMode.HostPlayMode;
- else
- throw new NotImplementedException();
+ // 创建驱动器
+ if (_isInitialize == false)
+ {
+ _isInitialize = true;
+ UnityEngine.GameObject driverGo = new UnityEngine.GameObject("[YooAsset]");
+ driverGo.AddComponent();
+ UnityEngine.Object.DontDestroyOnLoad(driverGo);
- // 初始化异步操作系统
+#if DEBUG
+ driverGo.AddComponent();
+#endif
+ }
+
+ // 初始化异步系统
OperationSystem.Initialize(parameters.OperationSystemMaxTimeSlice);
// 初始化下载系统
@@ -226,29 +237,32 @@ namespace YooAsset
_editorSimulateModeImpl = new EditorSimulateModeImpl();
_bundleServices = _editorSimulateModeImpl;
AssetSystem.Initialize(true, parameters.AssetLoadingMaxNumber, parameters.DecryptionServices, _bundleServices);
- var editorSimulateModeParameters = parameters as EditorSimulateModeParameters;
+ var simulateModeParameters = parameters as EditorSimulateModeParameters;
initializeOperation = _editorSimulateModeImpl.InitializeAsync(
- editorSimulateModeParameters.LocationToLower,
- editorSimulateModeParameters.SimulatePatchManifestPath);
+ simulateModeParameters.LocationToLower,
+ simulateModeParameters.SimulatePatchManifestPath);
}
else if (_playMode == EPlayMode.OfflinePlayMode)
{
_offlinePlayModeImpl = new OfflinePlayModeImpl();
_bundleServices = _offlinePlayModeImpl;
AssetSystem.Initialize(false, parameters.AssetLoadingMaxNumber, parameters.DecryptionServices, _bundleServices);
- initializeOperation = _offlinePlayModeImpl.InitializeAsync(parameters.LocationToLower, parameters.BuildinPackageName);
+ var playModeParameters = parameters as OfflinePlayModeParameters;
+ initializeOperation = _offlinePlayModeImpl.InitializeAsync(
+ playModeParameters.LocationToLower,
+ playModeParameters.BuildinPackageName);
}
else if (_playMode == EPlayMode.HostPlayMode)
{
_hostPlayModeImpl = new HostPlayModeImpl();
_bundleServices = _hostPlayModeImpl;
AssetSystem.Initialize(false, parameters.AssetLoadingMaxNumber, parameters.DecryptionServices, _bundleServices);
- var hostPlayModeParameters = parameters as HostPlayModeParameters;
+ var playModeParameters = parameters as HostPlayModeParameters;
initializeOperation = _hostPlayModeImpl.InitializeAsync(
- hostPlayModeParameters.LocationToLower,
- hostPlayModeParameters.BuildinPackageName,
- hostPlayModeParameters.DefaultHostServer,
- hostPlayModeParameters.FallbackHostServer);
+ playModeParameters.LocationToLower,
+ playModeParameters.DefaultHostServer,
+ playModeParameters.FallbackHostServer,
+ playModeParameters.QueryServices);
}
else
{