diff --git a/Assets/YooAsset/Samples~/Extension Sample/Editor/CreateBuildinCatalog/CreateBuildinCatalogWindow.cs b/Assets/YooAsset/Samples~/Extension Sample/Editor/CreateBuildinCatalog/CreateBuildinCatalogWindow.cs index b8c03bda..f292382f 100644 --- a/Assets/YooAsset/Samples~/Extension Sample/Editor/CreateBuildinCatalog/CreateBuildinCatalogWindow.cs +++ b/Assets/YooAsset/Samples~/Extension Sample/Editor/CreateBuildinCatalog/CreateBuildinCatalogWindow.cs @@ -55,7 +55,7 @@ namespace YooAsset.Editor string packageName = directoryInfo.Name; try { - bool result = CatalogTools.CreateCatalogFile(null, packageName, packageRoot); //TODO 自行处理解密 + bool result = CatalogFileHelper.CreateFile(null, packageName, packageRoot); //TODO 自行处理解密 if (result == false) { Debug.LogError($"Create package {packageName} catalog file failed ! See the detail error in console !"); diff --git a/Assets/YooAsset/Samples~/Extension Sample/Editor/CreateBuildinCatalog/CreateEmptyCatalogWindow.cs b/Assets/YooAsset/Samples~/Extension Sample/Editor/CreateBuildinCatalog/CreateEmptyCatalogWindow.cs index ea244849..0035262d 100644 --- a/Assets/YooAsset/Samples~/Extension Sample/Editor/CreateBuildinCatalog/CreateEmptyCatalogWindow.cs +++ b/Assets/YooAsset/Samples~/Extension Sample/Editor/CreateBuildinCatalog/CreateEmptyCatalogWindow.cs @@ -47,7 +47,7 @@ namespace YooAsset.Editor { try { - bool result = CatalogTools.CreateEmptyCatalogFile(_packageName, string.Empty, outputPath); + bool result = CatalogFileHelper.CreateEmptyFile(_packageName, string.Empty, outputPath); if (result == false) { Debug.LogError($"Create package {_packageName} catalog file failed ! See the detail error in console !"); diff --git a/Assets/YooAsset/Samples~/Extension Sample/Editor/PackageComparator/PackageComparatorWindow.cs b/Assets/YooAsset/Samples~/Extension Sample/Editor/PackageComparator/PackageComparatorWindow.cs index 6af12fa5..e0d28f00 100644 --- a/Assets/YooAsset/Samples~/Extension Sample/Editor/PackageComparator/PackageComparatorWindow.cs +++ b/Assets/YooAsset/Samples~/Extension Sample/Editor/PackageComparator/PackageComparatorWindow.cs @@ -106,11 +106,11 @@ namespace YooAsset.Editor // 加载补丁清单1 byte[] bytesData1 = FileUtility.ReadAllBytes(_manifestPath1); - PackageManifest manifest1 = ManifestTools.DeserializeFromBinary(bytesData1, null); //TODO 自行处理解密 + PackageManifest manifest1 = PackageManifestTools.DeserializeFromBinary(bytesData1, null); //TODO 自行处理解密 // 加载补丁清单1 byte[] bytesData2 = FileUtility.ReadAllBytes(_manifestPath2); - PackageManifest manifest2 = ManifestTools.DeserializeFromBinary(bytesData2, null); //TODO 自行处理解密 + PackageManifest manifest2 = PackageManifestTools.DeserializeFromBinary(bytesData2, null); //TODO 自行处理解密 // 拷贝文件列表 foreach (var bundle2 in manifest2.BundleList) diff --git a/Assets/YooAsset/Samples~/Extension Sample/Editor/PackageImporter/PackageImporterWindow.cs b/Assets/YooAsset/Samples~/Extension Sample/Editor/PackageImporter/PackageImporterWindow.cs index ac3ac2e6..7a1ba040 100644 --- a/Assets/YooAsset/Samples~/Extension Sample/Editor/PackageImporter/PackageImporterWindow.cs +++ b/Assets/YooAsset/Samples~/Extension Sample/Editor/PackageImporter/PackageImporterWindow.cs @@ -71,7 +71,7 @@ namespace YooAsset.Editor // 加载补丁清单 byte[] bytesData = FileUtility.ReadAllBytes(manifestFilePath); - PackageManifest manifest = ManifestTools.DeserializeFromBinary(bytesData, null); //TODO 自行处理解密 + PackageManifest manifest = PackageManifestTools.DeserializeFromBinary(bytesData, null); //TODO 自行处理解密 // 拷贝文件列表 int fileCount = 0; diff --git a/Assets/YooAsset/Samples~/Extension Sample/Editor/PreprocessBuild/PreprocessBuildCatalog.cs b/Assets/YooAsset/Samples~/Extension Sample/Editor/PreprocessBuild/PreprocessBuildCatalog.cs index 339fc58d..583b1d52 100644 --- a/Assets/YooAsset/Samples~/Extension Sample/Editor/PreprocessBuild/PreprocessBuildCatalog.cs +++ b/Assets/YooAsset/Samples~/Extension Sample/Editor/PreprocessBuild/PreprocessBuildCatalog.cs @@ -32,7 +32,7 @@ namespace YooAsset string pacakgeDirectory = subDirectory.FullName; try { - bool result = CatalogTools.CreateCatalogFile(null, packageName, pacakgeDirectory); //TODO 自行处理解密 + bool result = CatalogFileHelper.CreateFile(null, packageName, pacakgeDirectory); //TODO 自行处理解密 if (result == false) { Debug.LogError($"Create package {packageName} catalog file failed ! See the detail error in console !"); diff --git a/Assets/YooAsset/Samples~/Extension Sample/Runtime/CompatibleOldVersion.cs b/Assets/YooAsset/Samples~/Extension Sample/Runtime/CompatibleOldVersion.cs index 545bb647..de83e243 100644 --- a/Assets/YooAsset/Samples~/Extension Sample/Runtime/CompatibleOldVersion.cs +++ b/Assets/YooAsset/Samples~/Extension Sample/Runtime/CompatibleOldVersion.cs @@ -1,4 +1,6 @@ -using YooAsset; +using System.Collections.Generic; +using UnityEngine; +using YooAsset; #region InitializeParameters /// @@ -144,7 +146,27 @@ public class UpdatePackageManifestOperation : AsyncOperationBase } #endregion -public static class CompatibleOldVersion +#region ImportFileInfo +public struct ImportFileInfo +{ + /// + /// 本地文件路径 + /// + public string FilePath; + + /// + /// 资源包名称 + /// + public string BundleName; + + /// + /// 资源包GUID + /// + public string BundleGUID; +} +#endregion + +public static class CompatibleResourcePackage { /// /// 兼容Yoo2版本 @@ -221,15 +243,14 @@ public static class CompatibleOldVersion OperationSystem.StartOperation(package.PackageName, wrapper); return wrapper; } - + /// /// 兼容Yoo2版本 /// public static RequestPackageVersionOperation RequestPackageVersionAsync(this ResourcePackage package, bool appendTimeTicks = true, int timeout = 60) { var options = new RequestPackageVersionOptions(appendTimeTicks, timeout); - var operation = package.RequestPackageVersionAsync(options); - return operation; + return package.RequestPackageVersionAsync(options); } /// @@ -243,15 +264,14 @@ public static class CompatibleOldVersion OperationSystem.StartOperation(package.PackageName, wrapper); return wrapper; } - + /// /// 兼容Yoo2版本 /// public static PreDownloadContentOperation PreDownloadContentAsync(this ResourcePackage package, string packageVersion, int timeout = 60) { var options = new PreDownloadContentOptions(packageVersion, timeout); - var operation = package.PreDownloadContentAsync(options); - return operation; + return package.PreDownloadContentAsync(options); } /// @@ -271,4 +291,216 @@ public static class CompatibleOldVersion var options = new ClearCacheFilesOptions(fileClearMode, clearParam); return package.ClearCacheFilesAsync(options); } + + /// + /// 兼容Yoo2版本 + /// + public static UnloadUnusedAssetsOperation UnloadUnusedAssetsAsync(this ResourcePackage package, int loopCount) + { + var options = new UnloadUnusedAssetsOptions(loopCount); + return package.UnloadUnusedAssetsAsync(options); + } + + #region 资源下载 + /// + /// 兼容Yoo2版本 + /// + public static ResourceDownloaderOperation CreateResourceDownloader(this ResourcePackage package, int downloadingMaxNumber, int failedTryAgain) + { + var options = new ResourceDownloaderOptions(downloadingMaxNumber, failedTryAgain); + return package.CreateResourceDownloader(options); + } + + /// + /// 兼容Yoo2版本 + /// + public static ResourceDownloaderOperation CreateResourceDownloader(this ResourcePackage package, string tag, int downloadingMaxNumber, int failedTryAgain) + { + string[] tags = new string[] { tag }; + var options = new ResourceDownloaderOptions(tags, downloadingMaxNumber, failedTryAgain); + return package.CreateResourceDownloader(options); + } + + /// + /// 兼容Yoo2版本 + /// + public static ResourceDownloaderOperation CreateResourceDownloader(this ResourcePackage package, string[] tags, int downloadingMaxNumber, int failedTryAgain) + { + var options = new ResourceDownloaderOptions(tags, downloadingMaxNumber, failedTryAgain); + return package.CreateResourceDownloader(options); + } + + /// + /// 兼容Yoo2版本 + /// + public static ResourceDownloaderOperation CreateBundleDownloader(this ResourcePackage package, string location, bool recursiveDownload, int downloadingMaxNumber, int failedTryAgain) + { + var assetInfo = package.ConvertLocationToAssetInfo(location, null); + var options = new BundleDownloaderOptions(assetInfo, recursiveDownload, downloadingMaxNumber, failedTryAgain); + return package.CreateBundleDownloader(options); + } + public static ResourceDownloaderOperation CreateBundleDownloader(this ResourcePackage package, string location, int downloadingMaxNumber, int failedTryAgain) + { + return package.CreateBundleDownloader(location, false, downloadingMaxNumber, failedTryAgain); + } + + /// + /// 兼容Yoo2版本 + /// + public static ResourceDownloaderOperation CreateBundleDownloader(this ResourcePackage package, string[] locations, bool recursiveDownload, int downloadingMaxNumber, int failedTryAgain) + { + List assetInfos = new List(locations.Length); + foreach (var location in locations) + { + var assetInfo = package.ConvertLocationToAssetInfo(location, null); + assetInfos.Add(assetInfo); + } + + var options = new BundleDownloaderOptions(assetInfos.ToArray(), recursiveDownload, downloadingMaxNumber, failedTryAgain); + return package.CreateBundleDownloader(options); + } + public static ResourceDownloaderOperation CreateBundleDownloader(this ResourcePackage package, string[] locations, int downloadingMaxNumber, int failedTryAgain) + { + return package.CreateBundleDownloader(locations, false, downloadingMaxNumber, failedTryAgain); + } + + /// + /// 兼容Yoo2版本 + /// + public static ResourceDownloaderOperation CreateBundleDownloader(this ResourcePackage package, AssetInfo assetInfo, bool recursiveDownload, int downloadingMaxNumber, int failedTryAgain) + { + AssetInfo[] assetInfos = new AssetInfo[] { assetInfo }; + var options = new BundleDownloaderOptions(assetInfos, recursiveDownload, downloadingMaxNumber, failedTryAgain); + return package.CreateBundleDownloader(options); + } + public static ResourceDownloaderOperation CreateBundleDownloader(this ResourcePackage package, AssetInfo assetInfo, int downloadingMaxNumber, int failedTryAgain) + { + return package.CreateBundleDownloader(assetInfo, false, downloadingMaxNumber, failedTryAgain); + } + + /// + /// 兼容Yoo2版本 + /// + public static ResourceDownloaderOperation CreateBundleDownloader(this ResourcePackage package, AssetInfo[] assetInfos, bool recursiveDownload, int downloadingMaxNumber, int failedTryAgain) + { + var options = new BundleDownloaderOptions(assetInfos, recursiveDownload, downloadingMaxNumber, failedTryAgain); + return package.CreateBundleDownloader(options); + } + public static ResourceDownloaderOperation CreateBundleDownloader(this ResourcePackage package, AssetInfo[] assetInfos, int downloadingMaxNumber, int failedTryAgain) + { + return package.CreateBundleDownloader(assetInfos, false, downloadingMaxNumber, failedTryAgain); + } + #endregion + + #region 资源解压 + /// + /// 兼容Yoo2版本 + /// + public static ResourceUnpackerOperation CreateResourceUnpacker(this ResourcePackage package, int unpackingMaxNumber, int failedTryAgain) + { + var options = new ResourceUnpackerOptions(unpackingMaxNumber, failedTryAgain); + return package.CreateResourceUnpacker(options); + } + + /// + /// 兼容Yoo2版本 + /// + public static ResourceUnpackerOperation CreateResourceUnpacker(this ResourcePackage package, string tag, int unpackingMaxNumber, int failedTryAgain) + { + string[] tags = new string[] { tag }; + var options = new ResourceUnpackerOptions(tags, unpackingMaxNumber, failedTryAgain); + return package.CreateResourceUnpacker(options); + } + + /// + /// 兼容Yoo2版本 + /// + public static ResourceUnpackerOperation CreateResourceUnpacker(this ResourcePackage package, string[] tags, int unpackingMaxNumber, int failedTryAgain) + { + var options = new ResourceUnpackerOptions(tags, unpackingMaxNumber, failedTryAgain); + return package.CreateResourceUnpacker(options); + } + #endregion + + #region 资源导入 + /// + /// 兼容Yoo2版本 + /// + public static ResourceImporterOperation CreateResourceImporter(this ResourcePackage package, string[] filePaths, int importerMaxNumber, int failedTryAgain) + { + ImportFileInfo[] fileInfos = new ImportFileInfo[filePaths.Length]; + for (int i = 0; i < filePaths.Length; i++) + { + ImportFileInfo fileInfo = new ImportFileInfo(); + fileInfo.FilePath = filePaths[i]; + fileInfos[i] = fileInfo; + } + + return package.CreateResourceImporter(fileInfos, importerMaxNumber, failedTryAgain); + } + + /// + /// 兼容Yoo2版本 + /// + public static ResourceImporterOperation CreateResourceImporter(this ResourcePackage package, ImportFileInfo[] fileInfos, int importerMaxNumber, int failedTryAgain) + { + ImportBundleInfo[] bundleInfos = new ImportBundleInfo[fileInfos.Length]; + for (int i = 0; i < fileInfos.Length; i++) + { + ImportBundleInfo bundleInfo = new ImportBundleInfo(); + bundleInfo.FilePath = fileInfos[i].FilePath; + bundleInfo.BundleName = fileInfos[i].BundleName; + bundleInfo.BundleGUID = fileInfos[i].BundleGUID; + bundleInfos[i] = bundleInfo; + } + + var options = new BundleImporterOptions(bundleInfos, importerMaxNumber, failedTryAgain); + return package.CreateResourceImporter(options); + } + #endregion +} + +public static class CompatibleAssetHandle +{ + public static GameObject InstantiateSync(this AssetHandle handle, Transform parent) + { + var options = new InstantiateOptions(true, parent, false); + return handle.InstantiateSync(options); + } + public static GameObject InstantiateSync(this AssetHandle handle, Transform parent, bool worldPositionStays) + { + var options = new InstantiateOptions(true, parent, worldPositionStays); + return handle.InstantiateSync(options); + } + public static GameObject InstantiateSync(this AssetHandle handle, Vector3 position, Quaternion rotation) + { + var options = new InstantiateOptions(true, position, rotation); + return handle.InstantiateSync(options); + } + public static GameObject InstantiateSync(this AssetHandle handle, Vector3 position, Quaternion rotation, Transform parent) + { + var options = new InstantiateOptions(true, parent, position, rotation); + return handle.InstantiateSync(options); + } + + public static InstantiateOperation InstantiateAsync(this AssetHandle handle, Transform parent, bool actived = true) + { + var options = new InstantiateOptions(actived, parent, false); + return handle.InstantiateAsync(options); + } + public static InstantiateOperation InstantiateAsync(this AssetHandle handle, Transform parent, bool worldPositionStays, bool actived = true) + { + var options = new InstantiateOptions(actived, parent, worldPositionStays); + return handle.InstantiateAsync(options); + } + public static InstantiateOperation InstantiateAsync(this AssetHandle handle, Vector3 position, Quaternion rotation, bool actived = true) + { + var options = new InstantiateOptions(actived, position, rotation); + return handle.InstantiateAsync(options); + } + public static InstantiateOperation InstantiateAsync(this AssetHandle handle, Vector3 position, Quaternion rotation, Transform parent, bool actived = true) + { + var options = new InstantiateOptions(actived, parent, position, rotation); + return handle.InstantiateAsync(options); + } } \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionOperation/LoadAssetsByTagOperation.cs b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionOperation/LoadAssetsByTagOperation.cs index 46931c1b..82fe34fa 100644 --- a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionOperation/LoadAssetsByTagOperation.cs +++ b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionOperation/LoadAssetsByTagOperation.cs @@ -14,6 +14,7 @@ public class LoadAssetsByTagOperation : AsyncOperationBase where TObjec Done, } + private readonly string _packageName; private readonly string _tag; private ESteps _steps = ESteps.None; private List _handles; @@ -24,8 +25,9 @@ public class LoadAssetsByTagOperation : AsyncOperationBase where TObjec public List AssetObjects { private set; get; } - public LoadAssetsByTagOperation(string tag) + public LoadAssetsByTagOperation(string packageName, string tag) { + _packageName = packageName; _tag = tag; } internal override void InternalStart() @@ -39,11 +41,12 @@ public class LoadAssetsByTagOperation : AsyncOperationBase where TObjec if (_steps == ESteps.LoadAssets) { - AssetInfo[] assetInfos = YooAssets.GetAssetInfos(_tag); + var package = YooAssets.GetPackage(_packageName); + AssetInfo[] assetInfos = package.GetAssetInfos(_tag); _handles = new List(assetInfos.Length); foreach (var assetInfo in assetInfos) { - var handle = YooAssets.LoadAssetAsync(assetInfo); + var handle = package.LoadAssetAsync(assetInfo); _handles.Add(handle); } _steps = ESteps.CheckResult; diff --git a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionOperation/LoadGameObjectOperation.cs b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionOperation/LoadGameObjectOperation.cs index 08719f12..21bb2ef5 100644 --- a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionOperation/LoadGameObjectOperation.cs +++ b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionOperation/LoadGameObjectOperation.cs @@ -6,9 +6,9 @@ using YooAsset; public static class YooAssetsExtension { - public static LoadGameObjectOperation LoadGameObjectAsync(this ResourcePackage resourcePackage, string location, Vector3 position, Quaternion rotation, Transform parent, bool destroyGoOnRelease = false) + public static LoadGameObjectOperation LoadGameObjectAsync(this ResourcePackage package, string location, Vector3 position, Quaternion rotation, Transform parent, bool destroyGoOnRelease = false) { - var operation = new LoadGameObjectOperation(location, position, rotation, parent, destroyGoOnRelease); + var operation = new LoadGameObjectOperation(package.PackageName, location, position, rotation, parent, destroyGoOnRelease); OperationSystem.StartOperation(OperationSystem.GLOBAL_SCHEDULER_NAME, operation); return operation; } @@ -23,6 +23,7 @@ public class LoadGameObjectOperation : AsyncOperationBase Done, } + private readonly string _packageName; private readonly string _location; private readonly Vector3 _positon; private readonly Quaternion _rotation; @@ -36,9 +37,10 @@ public class LoadGameObjectOperation : AsyncOperationBase /// public GameObject Go { private set; get; } - - public LoadGameObjectOperation(string location, Vector3 position, Quaternion rotation, Transform parent, bool destroyGoOnRelease = false) + + public LoadGameObjectOperation(string packageName, string location, Vector3 position, Quaternion rotation, Transform parent, bool destroyGoOnRelease = false) { + _packageName = packageName; _location = location; _positon = position; _rotation = rotation; @@ -58,7 +60,8 @@ public class LoadGameObjectOperation : AsyncOperationBase { if (_handle == null) { - _handle = YooAssets.LoadAssetAsync(_location); + var package = YooAssets.GetPackage(_packageName); + _handle = package.LoadAssetAsync(_location); } Progress = _handle.Progress; diff --git a/Assets/YooAsset/Samples~/Mini Game/Runtime/MiniGameTest/FileSystemTester.cs b/Assets/YooAsset/Samples~/Mini Game/Runtime/MiniGameTest/FileSystemTester.cs index 28ead26d..55a5bd73 100644 --- a/Assets/YooAsset/Samples~/Mini Game/Runtime/MiniGameTest/FileSystemTester.cs +++ b/Assets/YooAsset/Samples~/Mini Game/Runtime/MiniGameTest/FileSystemTester.cs @@ -50,8 +50,8 @@ namespace YooAsset { var manifest = loadPackageManifestOp.Manifest; var packageBundle = GetPackageBundle(manifest, testLocation); - var options = new DownloadFileOptions(1); - var downloadFileOp = fileSystem.DownloadFileAsync(packageBundle, options); + var options = new DownloadFileOptions(packageBundle, 1); + var downloadFileOp = fileSystem.DownloadFileAsync(options); OperationSystem.StartOperation(packageName, downloadFileOp); yield return downloadFileOp; if (downloadFileOp.Status != EOperationStatus.Succeed) @@ -70,7 +70,8 @@ namespace YooAsset { var manifest = loadPackageManifestOp.Manifest; var packageBundle = GetPackageBundle(manifest, testLocation); - var loadBundleFileOp = fileSystem.LoadBundleFile(packageBundle); + var loadBundleFileOptions = new LoadBundleOptions(packageBundle); + var loadBundleFileOp = fileSystem.LoadBundleAsync(loadBundleFileOptions); OperationSystem.StartOperation(packageName, loadBundleFileOp); yield return loadBundleFileOp; if (loadBundleFileOp.Status != EOperationStatus.Succeed) diff --git a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/BattleLogic/BattleRoom.cs b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/BattleLogic/BattleRoom.cs index a5313d00..abe7e3f8 100644 --- a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/BattleLogic/BattleRoom.cs +++ b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/BattleLogic/BattleRoom.cs @@ -100,7 +100,7 @@ public class BattleRoom if (_startWaitTimer.Update(Time.deltaTime)) { // 生成实体 - var assetHandle = YooAssets.LoadAssetAsync("player_ship"); + var assetHandle = GameManager.Instance.GamePakcage.LoadAssetAsync("player_ship"); assetHandle.Completed += (AssetHandle handle) => { handle.InstantiateSync(_roomRoot.transform); @@ -117,7 +117,7 @@ public class BattleRoom Quaternion spawnRotation = Quaternion.identity; // 生成实体 - var assetHandle = YooAssets.LoadAssetAsync(enemyLocation); + var assetHandle = GameManager.Instance.GamePakcage.LoadAssetAsync(enemyLocation); assetHandle.Completed += (AssetHandle handle) => { handle.InstantiateSync(spawnPosition, spawnRotation, _roomRoot.transform); @@ -166,7 +166,7 @@ public class BattleRoom var msg = message as BattleEventDefine.PlayerDead; // 创建爆炸效果 - var assetHandle = YooAssets.LoadAssetAsync("explosion_player"); + var assetHandle = GameManager.Instance.GamePakcage.LoadAssetAsync("explosion_player"); assetHandle.Completed += (AssetHandle handle) => { handle.InstantiateSync(msg.Position, msg.Rotation, _roomRoot.transform); @@ -181,7 +181,7 @@ public class BattleRoom var msg = message as BattleEventDefine.EnemyDead; // 创建爆炸效果 - var assetHandle = YooAssets.LoadAssetAsync("explosion_enemy"); + var assetHandle = GameManager.Instance.GamePakcage.LoadAssetAsync("explosion_enemy"); assetHandle.Completed += (AssetHandle handle) => { handle.InstantiateSync(msg.Position, msg.Rotation, _roomRoot.transform); @@ -196,7 +196,7 @@ public class BattleRoom var msg = message as BattleEventDefine.AsteroidExplosion; // 创建爆炸效果 - var assetHandle = YooAssets.LoadAssetAsync("explosion_asteroid"); + var assetHandle = GameManager.Instance.GamePakcage.LoadAssetAsync("explosion_asteroid"); assetHandle.Completed += (AssetHandle handle) => { handle.InstantiateSync(msg.Position, msg.Rotation, _roomRoot.transform); @@ -211,7 +211,7 @@ public class BattleRoom var msg = message as BattleEventDefine.PlayerFireBullet; // 创建子弹实体 - var assetHandle = YooAssets.LoadAssetAsync("player_bullet"); + var assetHandle = GameManager.Instance.GamePakcage.LoadAssetAsync("player_bullet"); assetHandle.Completed += (AssetHandle handle) => { handle.InstantiateSync(msg.Position, msg.Rotation, _roomRoot.transform); @@ -223,7 +223,7 @@ public class BattleRoom var msg = message as BattleEventDefine.EnemyFireBullet; // 创建子弹实体 - var assetHandle = YooAssets.LoadAssetAsync("enemy_bullet"); + var assetHandle = GameManager.Instance.GamePakcage.LoadAssetAsync("enemy_bullet"); assetHandle.Completed += (AssetHandle handle) => { handle.InstantiateSync(msg.Position, msg.Rotation, _roomRoot.transform); diff --git a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/GameManager.cs b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/GameManager.cs index 3fe1b261..be2ec095 100644 --- a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/GameManager.cs +++ b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/GameManager.cs @@ -19,6 +19,11 @@ public class GameManager private readonly EventGroup _eventGroup = new EventGroup(); + /// + /// 游戏包裹 + /// + public ResourcePackage GamePakcage; + /// /// 协程启动器 /// @@ -47,11 +52,11 @@ public class GameManager { if (message is SceneEventDefine.ChangeToHomeScene) { - YooAssets.LoadSceneAsync("scene_home"); + GamePakcage.LoadSceneAsync("scene_home"); } else if (message is SceneEventDefine.ChangeToBattleScene) { - YooAssets.LoadSceneAsync("scene_battle"); + GamePakcage.LoadSceneAsync("scene_battle"); } } } \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneBattle.cs b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneBattle.cs index b2312de8..78292f4e 100644 --- a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneBattle.cs +++ b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneBattle.cs @@ -14,12 +14,12 @@ internal class SceneBattle : MonoBehaviour private IEnumerator Start() { // 加载战斗页面 - _windowHandle = YooAssets.LoadAssetAsync("UIBattle"); + _windowHandle = GameManager.Instance.GamePakcage.LoadAssetAsync("UIBattle"); yield return _windowHandle; _windowHandle.InstantiateSync(CanvasDesktop.transform); // 加载背景音乐 - _musicHandle = YooAssets.LoadAssetAsync("music_background"); + _musicHandle = GameManager.Instance.GamePakcage.LoadAssetAsync("music_background"); yield return _musicHandle; // 播放背景音乐 diff --git a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneHome.cs b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneHome.cs index c6756e86..7df2f530 100644 --- a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneHome.cs +++ b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneHome.cs @@ -11,7 +11,7 @@ public class SceneHome : MonoBehaviour private IEnumerator Start() { // 加载主页面 - _windowHandle = YooAssets.LoadAssetAsync("UIHome"); + _windowHandle = GameManager.Instance.GamePakcage.LoadAssetAsync("UIHome"); yield return _windowHandle; _windowHandle.InstantiateSync(CanvasDesktop.transform); diff --git a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs index 7e586444..3cb33732 100644 --- a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs +++ b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs @@ -40,10 +40,13 @@ internal class FsmInitializePackage : IStateNode InitializationOperation initializationOperation = null; if (playMode == EPlayMode.EditorSimulateMode) { - var buildResult = EditorSimulateModeHelper.SimulateBuild(packageName); + var buildResult = EditorSimulateBuildInvoker.Build(packageName); var packageRoot = buildResult.PackageRootDirectory; var createParameters = new EditorSimulateModeParameters(); createParameters.EditorFileSystemParameters = FileSystemParameters.CreateDefaultEditorFileSystemParameters(packageRoot); + createParameters.EditorFileSystemParameters.AddParameter(FileSystemParametersDefine.VIRTUAL_WEBGL_MODE, true); + createParameters.EditorFileSystemParameters.AddParameter(FileSystemParametersDefine.VIRTUAL_DOWNLOAD_MODE, true); + createParameters.EditorFileSystemParameters.AddParameter(FileSystemParametersDefine.VIRTUAL_DOWNLOAD_SPEED, 1024 * 1000); initializationOperation = package.InitializeAsync(createParameters); } @@ -63,7 +66,11 @@ internal class FsmInitializePackage : IStateNode IRemoteServices remoteServices = new RemoteServices(defaultHostServer, fallbackHostServer); var createParameters = new HostPlayModeParameters(); createParameters.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(); + createParameters.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.COPY_BUILDIN_PACKAGE_MANIFEST, true); createParameters.CacheFileSystemParameters = FileSystemParameters.CreateDefaultCacheFileSystemParameters(remoteServices); + createParameters.CacheFileSystemParameters.AddParameter(FileSystemParametersDefine.DOWNLOAD_MAX_CONCURRENCY, 5); + createParameters.CacheFileSystemParameters.AddParameter(FileSystemParametersDefine.DOWNLOAD_MAX_REQUEST_PER_FRAME, 1); + createParameters.CacheFileSystemParameters.AddParameter(FileSystemParametersDefine.DOWNLOAD_WATCH_DOG_TIME, 10); initializationOperation = package.InitializeAsync(createParameters); } diff --git a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmStartGame.cs b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmStartGame.cs index 06cfc092..e21249fc 100644 --- a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmStartGame.cs +++ b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmStartGame.cs @@ -14,8 +14,7 @@ internal class FsmStartGame : IStateNode PatchEventDefine.PatchStepsChange.SendEventMessage("开始游戏!"); // 设置默认的资源包 - var gamePackage = YooAssets.GetPackage("DefaultPackage"); - YooAssets.SetDefaultPackage(gamePackage); + GameManager.Instance.GamePakcage = YooAssets.GetPackage("DefaultPackage"); // 切换到主页面场景 SceneEventDefine.ChangeToHomeScene.SendEventMessage(); diff --git a/Assets/YooAsset/Samples~/Test Sample/Editor/TestPackageBuilder.cs b/Assets/YooAsset/Samples~/Test Sample/Editor/TestPackageBuilder.cs index 676ed303..8fedc1db 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Editor/TestPackageBuilder.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Editor/TestPackageBuilder.cs @@ -22,7 +22,7 @@ public static class TestPackageBuilder buildParameters.BuildOutputRoot = outputRoot; buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot(); buildParameters.BuildPipeline = EBuildPipeline.EditorSimulateBuildPipeline.ToString(); - buildParameters.BuildBundleType = (int)EBuildBundleType.VirtualBundle; + buildParameters.BuildBundleType = (int)EBundleType.VirtualBundle; buildParameters.BuildTarget = EditorUserBuildSettings.activeBuildTarget; buildParameters.PackageName = packageName; buildParameters.PackageVersion = "TestVersion"; @@ -58,7 +58,7 @@ public static class TestPackageBuilder buildParameters.BuildOutputRoot = outputRoot; buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot(); buildParameters.BuildPipeline = EBuildPipeline.ScriptableBuildPipeline.ToString(); - buildParameters.BuildBundleType = (int)EBuildBundleType.AssetBundle; + buildParameters.BuildBundleType = (int)EBundleType.AssetBundle; buildParameters.BuildTarget = EditorUserBuildSettings.activeBuildTarget; buildParameters.PackageName = packageName; buildParameters.PackageVersion = "TestVersion"; @@ -98,7 +98,7 @@ public static class TestPackageBuilder buildParameters.BuildOutputRoot = outputRoot; buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot(); buildParameters.BuildPipeline = EBuildPipeline.ScriptableBuildPipeline.ToString(); - buildParameters.BuildBundleType = (int)EBuildBundleType.AssetBundle; + buildParameters.BuildBundleType = (int)EBundleType.AssetBundle; buildParameters.BuildTarget = EditorUserBuildSettings.activeBuildTarget; buildParameters.PackageName = packageName; buildParameters.PackageVersion = "TestVersion"; @@ -137,7 +137,7 @@ public static class TestPackageBuilder buildParameters.BuildOutputRoot = outputRoot; buildParameters.BuildinFileRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot(); buildParameters.BuildPipeline = EBuildPipeline.RawFileBuildPipeline.ToString(); - buildParameters.BuildBundleType = (int)EBuildBundleType.RawBundle; + buildParameters.BuildBundleType = (int)EBundleType.RawBundle; buildParameters.BuildTarget = EditorUserBuildSettings.activeBuildTarget; buildParameters.PackageName = packageName; buildParameters.PackageVersion = "TestVersion"; diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestFileOffsetEncryption.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestFileOffsetEncryption.cs index 483a5788..bf795909 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestFileOffsetEncryption.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestFileOffsetEncryption.cs @@ -8,9 +8,9 @@ using YooAsset; /// /// 文件偏移加密方式 /// -public class TestFileOffsetEncryption : IEncryptionServices +public class TestFileOffsetEncryption : IBundleEncryptionServices { - public EncryptResult Encrypt(EncryptFileInfo fileInfo) + public EncryptResult Encrypt(EncryptBundleInfo fileInfo) { // 说明:对TestRes3资源目录进行加密 if (fileInfo.BundleName.Contains("_testres3_")) @@ -37,15 +37,15 @@ public class TestFileOffsetEncryption : IEncryptionServices /// /// 资源文件偏移解密类 /// -public class TestFileOffsetDecryption : IDecryptionServices +public class TestFileOffsetDecryption : IBundleDecryptionServices { /// /// 同步方式获取解密的资源包对象 /// 注意:加载流对象在资源包对象释放的时候会自动释放 /// - DecryptResult IDecryptionServices.LoadAssetBundle(DecryptFileInfo fileInfo) + DecryptSyncResult IBundleDecryptionServices.LoadAssetBundleSync(DecryptBundleInfo fileInfo) { - DecryptResult decryptResult = new DecryptResult(); + var decryptResult = new DecryptSyncResult(); decryptResult.ManagedStream = null; decryptResult.Result = AssetBundle.LoadFromFile(fileInfo.FileLoadPath, fileInfo.FileLoadCRC, GetFileOffset()); return decryptResult; @@ -55,9 +55,9 @@ public class TestFileOffsetDecryption : IDecryptionServices /// 异步方式获取解密的资源包对象 /// 注意:加载流对象在资源包对象释放的时候会自动释放 /// - DecryptResult IDecryptionServices.LoadAssetBundleAsync(DecryptFileInfo fileInfo) + DecryptAsyncResult IBundleDecryptionServices.LoadAssetBundleAsync(DecryptBundleInfo fileInfo) { - DecryptResult decryptResult = new DecryptResult(); + DecryptAsyncResult decryptResult = new DecryptAsyncResult(); decryptResult.ManagedStream = null; decryptResult.CreateRequest = AssetBundle.LoadFromFileAsync(fileInfo.FileLoadPath, fileInfo.FileLoadCRC, GetFileOffset()); return decryptResult; @@ -66,15 +66,15 @@ public class TestFileOffsetDecryption : IDecryptionServices /// /// 后备方式获取解密的资源包对象 /// - DecryptResult IDecryptionServices.LoadAssetBundleFallback(DecryptFileInfo fileInfo) + DecryptSyncResult IBundleDecryptionServices.LoadAssetBundleFallback(DecryptBundleInfo fileInfo) { - return new DecryptResult(); + return new DecryptSyncResult(); } /// /// 获取解密的字节数据 /// - byte[] IDecryptionServices.ReadFileData(DecryptFileInfo fileInfo) + byte[] IBundleDecryptionServices.ReadFileData(DecryptBundleInfo fileInfo) { throw new System.NotImplementedException(); } @@ -82,7 +82,7 @@ public class TestFileOffsetDecryption : IDecryptionServices /// /// 获取解密的文本数据 /// - string IDecryptionServices.ReadFileText(DecryptFileInfo fileInfo) + string IBundleDecryptionServices.ReadFileText(DecryptBundleInfo fileInfo) { throw new System.NotImplementedException(); } diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestFileStreamEncryption.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestFileStreamEncryption.cs index 40881058..e0cffe44 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestFileStreamEncryption.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestFileStreamEncryption.cs @@ -33,9 +33,9 @@ public class BundleStream : FileStream /// /// 文件流加密方式 /// -public class TestFileStreamEncryption : IEncryptionServices +public class TestFileStreamEncryption : IBundleEncryptionServices { - public EncryptResult Encrypt(EncryptFileInfo fileInfo) + public EncryptResult Encrypt(EncryptBundleInfo fileInfo) { // 说明:对TestRes3资源目录进行加密 if (fileInfo.BundleName.Contains("_testres3_")) @@ -63,15 +63,15 @@ public class TestFileStreamEncryption : IEncryptionServices /// /// 资源文件流解密类 /// -public class TestFileStreamDecryption : IDecryptionServices +public class TestFileStreamDecryption : IBundleDecryptionServices { /// /// 同步方式获取解密的资源包对象 /// - DecryptResult IDecryptionServices.LoadAssetBundle(DecryptFileInfo fileInfo) + DecryptSyncResult IBundleDecryptionServices.LoadAssetBundleSync(DecryptBundleInfo fileInfo) { BundleStream bundleStream = new BundleStream(fileInfo.FileLoadPath, FileMode.Open, FileAccess.Read, FileShare.Read); - DecryptResult decryptResult = new DecryptResult(); + var decryptResult = new DecryptSyncResult(); decryptResult.ManagedStream = bundleStream; decryptResult.Result = AssetBundle.LoadFromStream(bundleStream, fileInfo.FileLoadCRC, GetManagedReadBufferSize()); return decryptResult; @@ -80,10 +80,10 @@ public class TestFileStreamDecryption : IDecryptionServices /// /// 异步方式获取解密的资源包对象 /// - DecryptResult IDecryptionServices.LoadAssetBundleAsync(DecryptFileInfo fileInfo) + DecryptAsyncResult IBundleDecryptionServices.LoadAssetBundleAsync(DecryptBundleInfo fileInfo) { BundleStream bundleStream = new BundleStream(fileInfo.FileLoadPath, FileMode.Open, FileAccess.Read, FileShare.Read); - DecryptResult decryptResult = new DecryptResult(); + var decryptResult = new DecryptAsyncResult(); decryptResult.ManagedStream = bundleStream; decryptResult.CreateRequest = AssetBundle.LoadFromStreamAsync(bundleStream, fileInfo.FileLoadCRC, GetManagedReadBufferSize()); return decryptResult; @@ -94,11 +94,11 @@ public class TestFileStreamDecryption : IDecryptionServices /// 注意:当正常解密方法失败后,会触发后备加载! /// 说明:建议通过LoadFromMemory()方法加载资源包作为保底机制。 /// - DecryptResult IDecryptionServices.LoadAssetBundleFallback(DecryptFileInfo fileInfo) + DecryptSyncResult IBundleDecryptionServices.LoadAssetBundleFallback(DecryptBundleInfo fileInfo) { byte[] fileData = File.ReadAllBytes(fileInfo.FileLoadPath); var assetBundle = AssetBundle.LoadFromMemory(fileData); - DecryptResult decryptResult = new DecryptResult(); + var decryptResult = new DecryptSyncResult(); decryptResult.Result = assetBundle; return decryptResult; } @@ -106,7 +106,7 @@ public class TestFileStreamDecryption : IDecryptionServices /// /// 获取解密的字节数据 /// - byte[] IDecryptionServices.ReadFileData(DecryptFileInfo fileInfo) + byte[] IBundleDecryptionServices.ReadFileData(DecryptBundleInfo fileInfo) { throw new System.NotImplementedException(); } @@ -114,7 +114,7 @@ public class TestFileStreamDecryption : IDecryptionServices /// /// 获取解密的文本数据 /// - string IDecryptionServices.ReadFileText(DecryptFileInfo fileInfo) + string IBundleDecryptionServices.ReadFileText(DecryptBundleInfo fileInfo) { throw new System.NotImplementedException(); } @@ -129,9 +129,9 @@ public class TestFileStreamDecryption : IDecryptionServices /// WebGL平台解密类 /// 注意:WebGL平台支持内存解密 /// -public class TestWebFileMemoryDecryption : IWebDecryptionServices +public class TestWebFileMemoryDecryption : IWebBundleDecryptionServices { - public WebDecryptResult LoadAssetBundle(WebDecryptFileInfo fileInfo) + public WebDecryptSyncResult LoadAssetBundleSync(WebDecryptBundleInfo fileInfo) { /* byte[] copyData = new byte[fileInfo.FileData.Length]; @@ -152,7 +152,7 @@ public class TestWebFileMemoryDecryption : IWebDecryptionServices fileInfo.FileData[i] ^= BundleStream.KEY; } - WebDecryptResult decryptResult = new WebDecryptResult(); + WebDecryptSyncResult decryptResult = new WebDecryptSyncResult(); decryptResult.Result = AssetBundle.LoadFromMemory(fileInfo.FileData); return decryptResult; } diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleEncryption.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleEncryption.cs index 08a9d543..7925e36b 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleEncryption.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleEncryption.cs @@ -23,7 +23,8 @@ public class TestBundleEncryption yield return assetHandle; Assert.AreEqual(EOperationStatus.Succeed, assetHandle.Status); - var go = assetHandle.InstantiateSync(Vector3.zero, Quaternion.identity); + var options = new InstantiateOptions(true, Vector3.zero, Quaternion.identity); + var go = assetHandle.InstantiateSync(options); Assert.IsNotNull(go); } @@ -33,7 +34,8 @@ public class TestBundleEncryption var assetHandle = package.LoadAssetSync("prefab_encryptB"); Assert.AreEqual(EOperationStatus.Succeed, assetHandle.Status); - var go = assetHandle.InstantiateSync(Vector3.zero, Quaternion.identity); + var options = new InstantiateOptions(true, Vector3.zero, Quaternion.identity); + var go = assetHandle.InstantiateSync(options); Assert.IsNotNull(go); } } diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleReference.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleReference.cs index f9a8f404..5bd84a7a 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleReference.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleReference.cs @@ -23,7 +23,8 @@ public class TestBundleReference Assert.AreEqual(EOperationStatus.Succeed, assetHandle.Status); var pos = new Vector3(-1, -1, 0); - var go = assetHandle.InstantiateSync(pos, Quaternion.identity); + var options = new InstantiateOptions(true, pos, Quaternion.identity); + var go = assetHandle.InstantiateSync(options); Assert.IsNotNull(go); } @@ -36,7 +37,8 @@ public class TestBundleReference Assert.AreEqual(EOperationStatus.Succeed, heroHandle.Status); var pos = new Vector3(1, -1, 0); - heroObject = heroHandle.InstantiateSync(pos, Quaternion.identity); + var options = new InstantiateOptions(true, pos, Quaternion.identity); + heroObject = heroHandle.InstantiateSync(options); Assert.IsNotNull(heroObject); } @@ -61,7 +63,8 @@ public class TestBundleReference Assert.AreEqual(EOperationStatus.Succeed, heroHandle.Status); var pos = new Vector3(1, -1, 0); - heroObject = heroHandle.InstantiateSync(pos, Quaternion.identity); + var options = new InstantiateOptions(true, pos, Quaternion.identity); + heroObject = heroHandle.InstantiateSync(options); Assert.IsNotNull(heroObject); // 检测材质球关联的纹理是否为空 diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleUnpacker.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleUnpacker.cs index 0c41a5f3..917559e7 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleUnpacker.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/TestBundleUnpacker.cs @@ -16,7 +16,8 @@ public class TestBundleUnpacker ResourcePackage package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName); Assert.IsNotNull(package); - var resourceUnpacker = package.CreateResourceUnpacker("unpack", 10, 1); + var options = new ResourceUnpackerOptions("unpack", 10, 1); + var resourceUnpacker = package.CreateResourceUnpacker(options); Assert.AreEqual(resourceUnpacker.TotalDownloadCount, 2); resourceUnpacker.BeginDownload(); diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/TestBundleDownloader.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/TestBundleDownloader.cs index 35ed2b3d..7270f538 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/TestBundleDownloader.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/TestBundleDownloader.cs @@ -16,7 +16,8 @@ public class TestBundleDownloader ResourcePackage package = YooAssets.GetPackage(TestDefine.AssetBundlePackageName); Assert.IsNotNull(package); - var downloader = package.CreateResourceDownloader(10, 1); + var options = new ResourceDownloaderOptions(10, 1); + var downloader = package.CreateResourceDownloader(options); Assert.AreNotEqual(downloader.TotalDownloadCount, 0); downloader.BeginDownload(); diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/TestBundleImporter.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/TestBundleImporter.cs index 42aa535f..4fb1347f 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/TestBundleImporter.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/TestBundleImporter.cs @@ -20,16 +20,17 @@ public class TestBundleImporter DirectoryInfo packageDir = new DirectoryInfo(packageRoot); string fileRoot = $"{packageDir.Parent.FullName}/OutputCache"; - ImportFileInfo fileInfoA = new ImportFileInfo(); + ImportBundleInfo fileInfoA = new ImportBundleInfo(); fileInfoA.FilePath = $"{fileRoot}/assets_samples_test_sample_testres3_import_prefab_importa.bundle.encrypt"; fileInfoA.BundleName = "assets_samples_test_sample_testres3_import_prefab_importa.bundle"; - ImportFileInfo fileInfoB = new ImportFileInfo(); + ImportBundleInfo fileInfoB = new ImportBundleInfo(); fileInfoB.FilePath = $"{fileRoot}/assets_samples_test_sample_testres3_import_prefab_importb.bundle.encrypt"; fileInfoB.BundleName = "assets_samples_test_sample_testres3_import_prefab_importb.bundle"; - ImportFileInfo[] importInfos = { fileInfoA, fileInfoB }; - var unpacker = package.CreateResourceImporter(importInfos, 10, 1); + ImportBundleInfo[] importInfos = { fileInfoA, fileInfoB }; + var options = new BundleImporterOptions(importInfos, 10, 1); + var unpacker = package.CreateResourceImporter(options); Assert.AreEqual(unpacker.TotalDownloadCount, 2); unpacker.BeginDownload(); diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadAsset/TestLoadScene.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadAsset/TestLoadScene.cs index 3969185a..94626891 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadAsset/TestLoadScene.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/TestLoadAsset/TestLoadScene.cs @@ -52,7 +52,7 @@ public class TestLoadScene // 异步销毁附加场景 yield return new WaitForSeconds(0.2f); { - var unloadSceneOp = cachedHandle.UnloadAsync(); + var unloadSceneOp = cachedHandle.UnloadSceneAsync(); yield return unloadSceneOp; Assert.AreEqual(EOperationStatus.Succeed, unloadSceneOp.Status); }