diff --git a/CHANGELOG.md b/CHANGELOG.md index f64a3fb..c4c0765 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,21 @@ All notable changes to this package will be documented in this file. +## [2.2.9] - 2025-01-14 + +### Fixed + +- (#438) 修复了纯血鸿蒙加载本地文件失败的问题。 +- (#445) 修复了小游戏扩展文件系统脚本编译错误。 + +### Changed + +- EditorSimulateModeHelper.SimulateBuild()方法变更 + + ```csharp + public static PackageInvokeBuildResult SimulateBuild(string packageName); + ``` + ## [2.2.8-preview] - 2025-01-03 新增了单元测试用例。 diff --git a/Editor/AssetBundleBuilder/AssetBundleSimulateBuilder.cs b/Editor/AssetBundleBuilder/AssetBundleSimulateBuilder.cs index bf18abf..4508ed8 100644 --- a/Editor/AssetBundleBuilder/AssetBundleSimulateBuilder.cs +++ b/Editor/AssetBundleBuilder/AssetBundleSimulateBuilder.cs @@ -8,7 +8,7 @@ namespace YooAsset.Editor /// /// 模拟构建 /// - public static EditorSimulateBuildResult SimulateBuild(EditorSimulateBuildParam buildParam) + public static PackageInvokeBuildResult SimulateBuild(PackageInvokeBuildParam buildParam) { string packageName = buildParam.PackageName; string buildPipelineName = buildParam.BuildPipelineName; @@ -31,7 +31,7 @@ namespace YooAsset.Editor BuildResult buildResult = pipeline.Run(buildParameters, false); if (buildResult.Success) { - var reulst = new EditorSimulateBuildResult(); + var reulst = new PackageInvokeBuildResult(); reulst.PackageRootDirectory = buildResult.OutputPackageDirectory; return reulst; } diff --git a/Editor/AssetBundleBuilder/BuildParameters.cs b/Editor/AssetBundleBuilder/BuildParameters.cs index d4d35f2..962d2ae 100644 --- a/Editor/AssetBundleBuilder/BuildParameters.cs +++ b/Editor/AssetBundleBuilder/BuildParameters.cs @@ -75,12 +75,12 @@ namespace YooAsset.Editor /// /// 资源包名称样式 /// - public EFileNameStyle FileNameStyle; + public EFileNameStyle FileNameStyle = EFileNameStyle.HashName; /// /// 内置文件的拷贝选项 /// - public EBuildinFileCopyOption BuildinFileCopyOption; + public EBuildinFileCopyOption BuildinFileCopyOption = EBuildinFileCopyOption.None; /// /// 内置文件的拷贝参数 @@ -116,16 +116,6 @@ namespace YooAsset.Editor string message = BuildLogger.GetErrorMessage(ErrorCode.NoBuildTarget, "Please select the build target platform !"); throw new Exception(message); } - if (string.IsNullOrEmpty(PackageName)) - { - string message = BuildLogger.GetErrorMessage(ErrorCode.PackageNameIsNullOrEmpty, "Package name is null or empty !"); - throw new Exception(message); - } - if (string.IsNullOrEmpty(PackageVersion)) - { - string message = BuildLogger.GetErrorMessage(ErrorCode.PackageVersionIsNullOrEmpty, "Package version is null or empty !"); - throw new Exception(message); - } if (string.IsNullOrEmpty(BuildOutputRoot)) { string message = BuildLogger.GetErrorMessage(ErrorCode.BuildOutputRootIsNullOrEmpty, "Build output root is null or empty !"); @@ -136,6 +126,26 @@ namespace YooAsset.Editor string message = BuildLogger.GetErrorMessage(ErrorCode.BuildinFileRootIsNullOrEmpty, "Buildin file root is null or empty !"); throw new Exception(message); } + if (string.IsNullOrEmpty(BuildPipeline)) + { + string message = BuildLogger.GetErrorMessage(ErrorCode.BuildPipelineIsNullOrEmpty, "Build pipeline is null or empty !"); + throw new Exception(message); + } + if (BuildBundleType == (int)EBuildBundleType.Unknown) + { + string message = BuildLogger.GetErrorMessage(ErrorCode.BuildBundleTypeIsUnknown, $"Build bundle type is unknown {BuildBundleType} !"); + throw new Exception(message); + } + if (string.IsNullOrEmpty(PackageName)) + { + string message = BuildLogger.GetErrorMessage(ErrorCode.PackageNameIsNullOrEmpty, "Package name is null or empty !"); + throw new Exception(message); + } + if (string.IsNullOrEmpty(PackageVersion)) + { + string message = BuildLogger.GetErrorMessage(ErrorCode.PackageVersionIsNullOrEmpty, "Package version is null or empty !"); + throw new Exception(message); + } // 设置默认备注信息 if (string.IsNullOrEmpty(PackageNote)) diff --git a/Editor/AssetBundleBuilder/BuildSystem/ErrorCode.cs b/Editor/AssetBundleBuilder/BuildSystem/ErrorCode.cs index 6623348..ed45bd0 100644 --- a/Editor/AssetBundleBuilder/BuildSystem/ErrorCode.cs +++ b/Editor/AssetBundleBuilder/BuildSystem/ErrorCode.cs @@ -12,6 +12,8 @@ namespace YooAsset.Editor BuildOutputRootIsNullOrEmpty = 113, BuildinFileRootIsNullOrEmpty = 114, PackageOutputDirectoryExists = 115, + BuildPipelineIsNullOrEmpty = 116, + BuildBundleTypeIsUnknown = 117, RecommendScriptBuildPipeline = 130, // TaskGetBuildMap diff --git a/LICENSE.md b/LICENSE.md index 97c4511..075661d 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -187,7 +187,7 @@ identification within third-party archives. Copyright 2018-2021 何冠峰 - Copyright 2021-2023 TuYoo Games + Copyright 2021-2025 TuYoo Games Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/Runtime/DownloadSystem/DownloadSystemHelper.cs b/Runtime/DownloadSystem/DownloadSystemHelper.cs index 6f52914..bd1f24e 100644 --- a/Runtime/DownloadSystem/DownloadSystemHelper.cs +++ b/Runtime/DownloadSystem/DownloadSystemHelper.cs @@ -40,10 +40,20 @@ namespace YooAsset else url = StringUtility.Format("jar:file://{0}", path); #elif UNITY_OPENHARMONY - if (path.StartsWith("jar:file://")) - url = path; + if (UnityEngine.Application.streamingAssetsPath.StartsWith("jar:file://")) + { + if (path.StartsWith("jar:file://")) + url = path; + else + url = StringUtility.Format("jar:file://{0}", path); + } else - url = StringUtility.Format("jar:file://{0}", path); + { + if (path.StartsWith("file://")) + url = path; + else + url = StringUtility.Format("file://{0}", path); + } #elif UNITY_STANDALONE_OSX url = new System.Uri(path).ToString(); #elif UNITY_STANDALONE diff --git a/Runtime/PakcageInvokeBuilder.meta b/Runtime/PakcageInvokeBuilder.meta new file mode 100644 index 0000000..75cf2eb --- /dev/null +++ b/Runtime/PakcageInvokeBuilder.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0c4881e782cbf0d4aa6f8309efd22865 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildParam.cs b/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildParam.cs new file mode 100644 index 0000000..7bed383 --- /dev/null +++ b/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildParam.cs @@ -0,0 +1,38 @@ + +namespace YooAsset +{ + public class PackageInvokeBuildParam + { + /// + /// 包裹名称 + /// + public readonly string PackageName; + + /// + /// 构建管线名称 + /// + public string BuildPipelineName; + + /// + /// 构建类所属程序集名称 + /// + public string InvokeAssmeblyName; + + /// + /// 构建执行的类名全称 + /// 注意:类名必须包含命名空间! + /// + public string InvokeClassFullName; + + /// + /// 构建执行的方法名称 + /// 注意:执行方法必须满足 BindingFlags.Public | BindingFlags.Static + /// + public string InvokeMethodName; + + public PackageInvokeBuildParam(string packageName) + { + PackageName = packageName; + } + } +} \ No newline at end of file diff --git a/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildParam.cs.meta b/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildParam.cs.meta similarity index 100% rename from Runtime/ResourcePackage/PlayMode/EditorSimulateBuildParam.cs.meta rename to Runtime/PakcageInvokeBuilder/PakcageInvokeBuildParam.cs.meta diff --git a/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildResult.cs b/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildResult.cs similarity index 65% rename from Runtime/ResourcePackage/PlayMode/EditorSimulateBuildResult.cs rename to Runtime/PakcageInvokeBuilder/PakcageInvokeBuildResult.cs index fa2f059..d3abf88 100644 --- a/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildResult.cs +++ b/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildResult.cs @@ -1,7 +1,7 @@  namespace YooAsset { - public class EditorSimulateBuildResult + public class PackageInvokeBuildResult { public string PackageRootDirectory; } diff --git a/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildResult.cs.meta b/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildResult.cs.meta similarity index 100% rename from Runtime/ResourcePackage/PlayMode/EditorSimulateBuildResult.cs.meta rename to Runtime/PakcageInvokeBuilder/PakcageInvokeBuildResult.cs.meta diff --git a/Runtime/PakcageInvokeBuilder/PakcageInvokeBuilder.cs b/Runtime/PakcageInvokeBuilder/PakcageInvokeBuilder.cs new file mode 100644 index 0000000..9941fc6 --- /dev/null +++ b/Runtime/PakcageInvokeBuilder/PakcageInvokeBuilder.cs @@ -0,0 +1,43 @@ +#if UNITY_EDITOR +using System.Reflection; + +namespace YooAsset +{ + public static class PakcageInvokeBuilder + { + /// + /// 调用Editro类来执行构建资源包任务 + /// + public static PackageInvokeBuildResult InvokeBuilder(PackageInvokeBuildParam buildParam) + { + var assemblyName = buildParam.InvokeAssmeblyName; + var className = buildParam.InvokeClassFullName; + var methodName = buildParam.InvokeMethodName; + var classType = Assembly.Load(assemblyName).GetType(className); + return (PackageInvokeBuildResult)InvokePublicStaticMethod(classType, methodName, buildParam); + } + + private static object InvokePublicStaticMethod(System.Type type, string method, params object[] parameters) + { + var methodInfo = type.GetMethod(method, BindingFlags.Public | BindingFlags.Static); + if (methodInfo == null) + { + UnityEngine.Debug.LogError($"{type.FullName} not found method : {method}"); + return null; + } + return methodInfo.Invoke(null, parameters); + } + } +} +#else +namespace YooAsset +{ + public static class PakcageInvokeBuilder + { + public static PackageInvokeBuildResult InvokeBuilder(PackageInvokeBuildParam buildParam) + { + throw new System.Exception("Only support in unity editor platform !"); + } + } +} +#endif \ No newline at end of file diff --git a/Runtime/PakcageInvokeBuilder/PakcageInvokeBuilder.cs.meta b/Runtime/PakcageInvokeBuilder/PakcageInvokeBuilder.cs.meta new file mode 100644 index 0000000..dd84db1 --- /dev/null +++ b/Runtime/PakcageInvokeBuilder/PakcageInvokeBuilder.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5b09fe4b7aa2d2143bc538976541b039 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildParam.cs b/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildParam.cs deleted file mode 100644 index 5124d75..0000000 --- a/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildParam.cs +++ /dev/null @@ -1,38 +0,0 @@ - -namespace YooAsset -{ - public class EditorSimulateBuildParam - { - /// - /// 包裹名称 - /// - public readonly string PackageName; - - /// - /// 模拟构建管线名称 - /// - public string BuildPipelineName = "EditorSimulateBuildPipeline"; - - /// - /// 模拟构建类所属程序集名称 - /// - public string InvokeAssmeblyName = "YooAsset.Editor"; - - /// - /// 模拟构建执行的类名全称 - /// 注意:类名必须包含命名空间! - /// - public string InvokeClassFullName = "YooAsset.Editor.AssetBundleSimulateBuilder"; - - /// - /// 模拟构建执行的方法名称 - /// 注意:执行方法必须满足 BindingFlags.Public | BindingFlags.Static - /// - public string InvokeMethodName = "SimulateBuild"; - - public EditorSimulateBuildParam(string packageName) - { - PackageName = packageName; - } - } -} \ No newline at end of file diff --git a/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs b/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs index 24234e5..90bef32 100644 --- a/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs +++ b/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs @@ -1,43 +1,16 @@ -#if UNITY_EDITOR -using System.Reflection; - + namespace YooAsset { - public static class EditorSimulateModeHelper + public class EditorSimulateModeHelper { - /// - /// 编辑器下模拟构建清单 - /// - public static EditorSimulateBuildResult SimulateBuild(EditorSimulateBuildParam buildParam) + public static PackageInvokeBuildResult SimulateBuild(string packageName) { - var assemblyName = buildParam.InvokeAssmeblyName; - var className = buildParam.InvokeClassFullName; - var methodName = buildParam.InvokeMethodName; - var classType = Assembly.Load(assemblyName).GetType(className); - return (EditorSimulateBuildResult)InvokePublicStaticMethod(classType, methodName, buildParam); - } - - private static object InvokePublicStaticMethod(System.Type type, string method, params object[] parameters) - { - var methodInfo = type.GetMethod(method, BindingFlags.Public | BindingFlags.Static); - if (methodInfo == null) - { - UnityEngine.Debug.LogError($"{type.FullName} not found method : {method}"); - return null; - } - return methodInfo.Invoke(null, parameters); + var buildParam = new PackageInvokeBuildParam(packageName); + buildParam.BuildPipelineName = "EditorSimulateBuildPipeline"; + buildParam.InvokeAssmeblyName = "YooAsset.Editor"; + buildParam.InvokeClassFullName = "YooAsset.Editor.AssetBundleSimulateBuilder"; + buildParam.InvokeMethodName = "SimulateBuild"; + return PakcageInvokeBuilder.InvokeBuilder(buildParam); } } -} -#else -namespace YooAsset -{ - public static class EditorSimulateModeHelper - { - public static EditorSimulateBuildResult SimulateBuild(EditorSimulateBuildParam buildParam) - { - throw new System.Exception("Only support in unity editor !"); - } - } -} -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs.meta b/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs.meta index dd84db1..4eaf3a6 100644 --- a/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs.meta +++ b/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5b09fe4b7aa2d2143bc538976541b039 +guid: b0a23f529c8bf4943a371ee6b360e698 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Runtime/link.xml b/Runtime/link.xml deleted file mode 100644 index 13d2d3a..0000000 --- a/Runtime/link.xml +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Runtime/link.xml.meta b/Runtime/link.xml.meta deleted file mode 100644 index 988adb2..0000000 --- a/Runtime/link.xml.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: a3e1f44783da4e81a5e043f353ec89f1 -timeCreated: 1725695549 \ No newline at end of file diff --git a/Samples~/Extension Sample/Runtime/ExtensionFileSystem/ByteGameFileSystem/ByteGameFileSystem.cs b/Samples~/Extension Sample/Runtime/ExtensionFileSystem/ByteGameFileSystem/ByteGameFileSystem.cs index 50af434..9d9e468 100644 --- a/Samples~/Extension Sample/Runtime/ExtensionFileSystem/ByteGameFileSystem/ByteGameFileSystem.cs +++ b/Samples~/Extension Sample/Runtime/ExtensionFileSystem/ByteGameFileSystem/ByteGameFileSystem.cs @@ -110,9 +110,9 @@ internal class ByteGameFileSystem : IFileSystem OperationSystem.StartOperation(PackageName, operation); return operation; } - public virtual FSClearCacheBundleFilesOperation ClearCacheBundleFilesAsync(PackageManifest manifest, string clearMode, object clearParam) + public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, string clearMode, object clearParam) { - var operation = new FSClearCacheBundleFilesCompleteOperation(null); + var operation = new FSClearCacheFilesCompleteOperation(); OperationSystem.StartOperation(PackageName, operation); return operation; } diff --git a/Samples~/Extension Sample/Runtime/ExtensionFileSystem/ByteGameFileSystem/Operation/internal/LoadByteGamePackageManifestOperation.cs b/Samples~/Extension Sample/Runtime/ExtensionFileSystem/ByteGameFileSystem/Operation/internal/LoadByteGamePackageManifestOperation.cs index dca2405..c4ca286 100644 --- a/Samples~/Extension Sample/Runtime/ExtensionFileSystem/ByteGameFileSystem/Operation/internal/LoadByteGamePackageManifestOperation.cs +++ b/Samples~/Extension Sample/Runtime/ExtensionFileSystem/ByteGameFileSystem/Operation/internal/LoadByteGamePackageManifestOperation.cs @@ -73,7 +73,7 @@ internal class LoadByteGamePackageManifestOperation : AsyncOperationBase if (_steps == ESteps.VerifyFileData) { - string fileHash = HashUtility.BytesMD5(_webDataRequestOp.Result); + string fileHash = HashUtility.BytesCRC32(_webDataRequestOp.Result); if (fileHash == _packageHash) { _steps = ESteps.LoadManifest; @@ -82,7 +82,7 @@ internal class LoadByteGamePackageManifestOperation : AsyncOperationBase { _steps = ESteps.Done; Status = EOperationStatus.Failed; - Error = "Failed to verify wechat package manifest file!"; + Error = "Failed to verify package manifest file!"; } } diff --git a/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/WXFSClearAllBundleFilesOperation.cs b/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/WXFSClearAllBundleFilesOperation.cs index b4b915f..1b042b4 100644 --- a/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/WXFSClearAllBundleFilesOperation.cs +++ b/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/WXFSClearAllBundleFilesOperation.cs @@ -5,7 +5,7 @@ using UnityEngine; using YooAsset; using WeChatWASM; -internal class WXFSClearAllBundleFilesOperation : FSClearCacheBundleFilesOperation +internal class WXFSClearAllBundleFilesOperation : FSClearCacheFilesOperation { private enum ESteps { diff --git a/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/WXFSClearUnusedBundleFilesAsync.cs b/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/WXFSClearUnusedBundleFilesAsync.cs index 5955899..03eef01 100644 --- a/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/WXFSClearUnusedBundleFilesAsync.cs +++ b/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/WXFSClearUnusedBundleFilesAsync.cs @@ -6,7 +6,7 @@ using YooAsset; using WeChatWASM; -internal class WXFSClearUnusedBundleFilesAsync : FSClearCacheBundleFilesOperation +internal class WXFSClearUnusedBundleFilesAsync : FSClearCacheFilesOperation { private enum ESteps { diff --git a/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/internal/LoadWechatPackageManifestOperation.cs b/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/internal/LoadWechatPackageManifestOperation.cs index deca8f6..5ea066d 100644 --- a/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/internal/LoadWechatPackageManifestOperation.cs +++ b/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/Operation/internal/LoadWechatPackageManifestOperation.cs @@ -73,7 +73,7 @@ internal class LoadWechatPackageManifestOperation : AsyncOperationBase if (_steps == ESteps.VerifyFileData) { - string fileHash = HashUtility.BytesMD5(_webDataRequestOp.Result); + string fileHash = HashUtility.BytesCRC32(_webDataRequestOp.Result); if (fileHash == _packageHash) { _steps = ESteps.LoadManifest; @@ -82,7 +82,7 @@ internal class LoadWechatPackageManifestOperation : AsyncOperationBase { _steps = ESteps.Done; Status = EOperationStatus.Failed; - Error = "Failed to verify wechat package manifest file!"; + Error = "Failed to verify package manifest file!"; } } diff --git a/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/WechatFileSystem.cs b/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/WechatFileSystem.cs index 3456737..8d1187f 100644 --- a/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/WechatFileSystem.cs +++ b/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/WechatFileSystem.cs @@ -115,7 +115,7 @@ internal class WechatFileSystem : IFileSystem OperationSystem.StartOperation(PackageName, operation); return operation; } - public virtual FSClearCacheBundleFilesOperation ClearCacheBundleFilesAsync(PackageManifest manifest, string clearMode, object clearParam) + public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, string clearMode, object clearParam) { if (clearMode == EFileClearMode.ClearAllBundleFiles.ToString()) { @@ -132,7 +132,7 @@ internal class WechatFileSystem : IFileSystem else { string error = $"Invalid clear mode : {clearMode}"; - var operation = new FSClearCacheBundleFilesCompleteOperation(error); + var operation = new FSClearCacheFilesCompleteOperation(error); OperationSystem.StartOperation(PackageName, operation); return operation; } diff --git a/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs b/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs index 5cdd34d..aab9329 100644 --- a/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs +++ b/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs @@ -40,9 +40,8 @@ internal class FsmInitializePackage : IStateNode InitializationOperation initializationOperation = null; if (playMode == EPlayMode.EditorSimulateMode) { - var simulateBuildParam = new EditorSimulateBuildParam(packageName); - var simulateBuildResult = EditorSimulateModeHelper.SimulateBuild(simulateBuildParam); - var packageRoot = simulateBuildResult.PackageRootDirectory; + var buildResult = EditorSimulateModeHelper.SimulateBuild(packageName); + var packageRoot = buildResult.PackageRootDirectory; var createParameters = new EditorSimulateModeParameters(); createParameters.EditorFileSystemParameters = FileSystemParameters.CreateDefaultEditorFileSystemParameters(packageRoot); initializationOperation = package.InitializeAsync(createParameters); diff --git a/Samples~/Test Sample/Editor/TestSimulateBuilder.cs b/Samples~/Test Sample/Editor/TestPackageBuilder.cs similarity index 94% rename from Samples~/Test Sample/Editor/TestSimulateBuilder.cs rename to Samples~/Test Sample/Editor/TestPackageBuilder.cs index 0789a27..853e747 100644 --- a/Samples~/Test Sample/Editor/TestSimulateBuilder.cs +++ b/Samples~/Test Sample/Editor/TestPackageBuilder.cs @@ -3,12 +3,12 @@ using UnityEngine; using YooAsset; using YooAsset.Editor; -public static class TestSimulateBuilder +public static class TestPackageBuilder { /// - /// 模拟构建 + /// 构建资源包 /// - public static EditorSimulateBuildResult SimulateBuild(EditorSimulateBuildParam buildParam) + public static PackageInvokeBuildResult BuildPackage(PackageInvokeBuildParam buildParam) { string packageName = buildParam.PackageName; string buildPipelineName = buildParam.BuildPipelineName; @@ -31,7 +31,7 @@ public static class TestSimulateBuilder BuildResult buildResult = pipeline.Run(buildParameters, false); if (buildResult.Success) { - var reulst = new EditorSimulateBuildResult(); + var reulst = new PackageInvokeBuildResult(); reulst.PackageRootDirectory = buildResult.OutputPackageDirectory; return reulst; } @@ -64,7 +64,7 @@ public static class TestSimulateBuilder BuildResult buildResult = pipeline.Run(buildParameters, false); if (buildResult.Success) { - var reulst = new EditorSimulateBuildResult(); + var reulst = new PackageInvokeBuildResult(); reulst.PackageRootDirectory = buildResult.OutputPackageDirectory; return reulst; } @@ -97,7 +97,7 @@ public static class TestSimulateBuilder BuildResult buildResult = pipeline.Run(buildParameters, false); if (buildResult.Success) { - var reulst = new EditorSimulateBuildResult(); + var reulst = new PackageInvokeBuildResult(); reulst.PackageRootDirectory = buildResult.OutputPackageDirectory; return reulst; } @@ -128,7 +128,7 @@ public static class TestSimulateBuilder BuildResult buildResult = pipeline.Run(buildParameters, false); if (buildResult.Success) { - var reulst = new EditorSimulateBuildResult(); + var reulst = new PackageInvokeBuildResult(); reulst.PackageRootDirectory = buildResult.OutputPackageDirectory; return reulst; } diff --git a/Samples~/Test Sample/Editor/TestSimulateBuilder.cs.meta b/Samples~/Test Sample/Editor/TestPackageBuilder.cs.meta similarity index 100% rename from Samples~/Test Sample/Editor/TestSimulateBuilder.cs.meta rename to Samples~/Test Sample/Editor/TestPackageBuilder.cs.meta diff --git a/Samples~/Test Sample/Runtime/AssetBundleCollectorMaker.cs b/Samples~/Test Sample/Runtime/AssetBundleCollectorMaker.cs index f1804cb..188ef79 100644 --- a/Samples~/Test Sample/Runtime/AssetBundleCollectorMaker.cs +++ b/Samples~/Test Sample/Runtime/AssetBundleCollectorMaker.cs @@ -60,6 +60,17 @@ public static class AssetBundleCollectorMaker YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(spriteGroup, collector2); } + // 面板 + var panelGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(testPackage, "PanelGroup"); + { + var collector1 = new YooAsset.Editor.AssetBundleCollector(); + collector1.CollectPath = ""; + collector1.CollectorGUID = "4e9a00d6e825d644b9be75155d88daa6"; //TestRes/Panel目录 + collector1.CollectorType = YooAsset.Editor.ECollectorType.MainAssetCollector; + collector1.PackRuleName = nameof(YooAsset.Editor.PackSeparately); + YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(panelGroup, collector1); + } + // 预制体 var prefabGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(testPackage, "PrefabGroup"); { diff --git a/Samples~/Test Sample/Runtime/BuildinFileSystemTester.cs b/Samples~/Test Sample/Runtime/BuildinFileSystemTester.cs index 19dcebf..165cba7 100644 --- a/Samples~/Test Sample/Runtime/BuildinFileSystemTester.cs +++ b/Samples~/Test Sample/Runtime/BuildinFileSystemTester.cs @@ -19,23 +19,23 @@ public class BuildinFileSystemTester : IPrebuildSetup, IPostBuildCleanup #if UNITY_EDITOR // 构建TestPackage { - var simulateParams = new EditorSimulateBuildParam(AssetBundleCollectorDefine.TestPackageName); - simulateParams.BuildPipelineName = "ScriptableBuildPipeline"; - simulateParams.InvokeAssmeblyName = "YooAsset.Test.Editor"; - simulateParams.InvokeClassFullName = "TestSimulateBuilder"; - simulateParams.InvokeMethodName = "SimulateBuild"; - var simulateResult = EditorSimulateModeHelper.SimulateBuild(simulateParams); + var buildParams = new PackageInvokeBuildParam(AssetBundleCollectorDefine.TestPackageName); + buildParams.BuildPipelineName = "ScriptableBuildPipeline"; + buildParams.InvokeAssmeblyName = "YooAsset.Test.Editor"; + buildParams.InvokeClassFullName = "TestPackageBuilder"; + buildParams.InvokeMethodName = "BuildPackage"; + var simulateResult = PakcageInvokeBuilder.InvokeBuilder(buildParams); UnityEditor.EditorPrefs.SetString(BFS_TEST_PACKAGE_ROOT_KEY, simulateResult.PackageRootDirectory); } // 构建RawPackage { - var simulateParams = new EditorSimulateBuildParam(AssetBundleCollectorDefine.RawPackageName); - simulateParams.BuildPipelineName = "RawFileBuildPipeline"; - simulateParams.InvokeAssmeblyName = "YooAsset.Test.Editor"; - simulateParams.InvokeClassFullName = "TestSimulateBuilder"; - simulateParams.InvokeMethodName = "SimulateBuild"; - var simulateResult = EditorSimulateModeHelper.SimulateBuild(simulateParams); + var buildParams = new PackageInvokeBuildParam(AssetBundleCollectorDefine.RawPackageName); + buildParams.BuildPipelineName = "RawFileBuildPipeline"; + buildParams.InvokeAssmeblyName = "YooAsset.Test.Editor"; + buildParams.InvokeClassFullName = "TestPackageBuilder"; + buildParams.InvokeMethodName = "BuildPackage"; + var simulateResult = PakcageInvokeBuilder.InvokeBuilder(buildParams); UnityEditor.EditorPrefs.SetString(BFS_RAW_PACKAGE_ROOT_KEY, simulateResult.PackageRootDirectory); } #endif @@ -119,6 +119,13 @@ public class BuildinFileSystemTester : IPrebuildSetup, IPostBuildCleanup } } + [UnityTest] + public IEnumerator TestLoadAsyncTask() + { + var tester = new TestLoadPanel(); + yield return tester.RuntimeTester(); + } + [UnityTest] public IEnumerator TestLoadAudio() { diff --git a/Samples~/Test Sample/Runtime/EditorFileSystemTester.cs b/Samples~/Test Sample/Runtime/EditorFileSystemTester.cs index 2fd3015..738f945 100644 --- a/Samples~/Test Sample/Runtime/EditorFileSystemTester.cs +++ b/Samples~/Test Sample/Runtime/EditorFileSystemTester.cs @@ -19,23 +19,23 @@ public class EditorFileSystemTester : IPrebuildSetup, IPostBuildCleanup #if UNITY_EDITOR // 构建TestPackage { - var simulateParams = new EditorSimulateBuildParam(AssetBundleCollectorDefine.TestPackageName); + var simulateParams = new PackageInvokeBuildParam(AssetBundleCollectorDefine.TestPackageName); simulateParams.BuildPipelineName = "EditorSimulateBuildPipeline"; simulateParams.InvokeAssmeblyName = "YooAsset.Test.Editor"; - simulateParams.InvokeClassFullName = "TestSimulateBuilder"; - simulateParams.InvokeMethodName = "SimulateBuild"; - var simulateResult = EditorSimulateModeHelper.SimulateBuild(simulateParams); + simulateParams.InvokeClassFullName = "TestPackageBuilder"; + simulateParams.InvokeMethodName = "BuildPackage"; + var simulateResult = PakcageInvokeBuilder.InvokeBuilder(simulateParams); UnityEditor.EditorPrefs.SetString(EFS_TEST_PACKAGE_ROOT_KEY, simulateResult.PackageRootDirectory); } // 构建RawPackage { - var simulateParams = new EditorSimulateBuildParam(AssetBundleCollectorDefine.RawPackageName); + var simulateParams = new PackageInvokeBuildParam(AssetBundleCollectorDefine.RawPackageName); simulateParams.BuildPipelineName = "EditorSimulateBuildPipeline"; simulateParams.InvokeAssmeblyName = "YooAsset.Test.Editor"; - simulateParams.InvokeClassFullName = "TestSimulateBuilder"; - simulateParams.InvokeMethodName = "SimulateBuild"; - var simulateResult = EditorSimulateModeHelper.SimulateBuild(simulateParams); + simulateParams.InvokeClassFullName = "TestPackageBuilder"; + simulateParams.InvokeMethodName = "BuildPackage"; + var simulateResult = PakcageInvokeBuilder.InvokeBuilder(simulateParams); UnityEditor.EditorPrefs.SetString(EFS_RAW_PACKAGE_ROOT_KEY, simulateResult.PackageRootDirectory); } #endif @@ -148,6 +148,13 @@ public class EditorFileSystemTester : IPrebuildSetup, IPostBuildCleanup } } + [UnityTest] + public IEnumerator TestLoadAsyncTask() + { + var tester = new TestLoadPanel(); + yield return tester.RuntimeTester(); + } + [UnityTest] public IEnumerator TestLoadAudio() { diff --git a/Samples~/Test Sample/Runtime/TestLoadPanel.cs b/Samples~/Test Sample/Runtime/TestLoadPanel.cs new file mode 100644 index 0000000..bdb48a4 --- /dev/null +++ b/Samples~/Test Sample/Runtime/TestLoadPanel.cs @@ -0,0 +1,40 @@ +using System; +using System.IO; +using System.Text; +using System.Collections; +using System.Threading.Tasks; +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.U2D; +using UnityEngine.TestTools; +using NUnit.Framework; +using YooAsset; + +public class TestLoadPanel +{ + public IEnumerator RuntimeTester() + { + ResourcePackage package = YooAssets.GetPackage(AssetBundleCollectorDefine.TestPackageName); + Assert.IsNotNull(package); + + // 异步加载面板 + { + var assetsHandle = package.LoadAssetAsync("panel_canvas"); + var handleTask = assetsHandle.Task; + while (!handleTask.IsCompleted) + yield return null; + yield return null; + Assert.AreEqual(EOperationStatus.Succeed, assetsHandle.Status); + + var instantiateOp = assetsHandle.InstantiateAsync(); + var operationTask = instantiateOp.Task; + while (!handleTask.IsCompleted) + yield return null; + yield return null; + Assert.AreEqual(EOperationStatus.Succeed, instantiateOp.Status); + + Assert.IsNotNull(instantiateOp.Result); + TestLogger.Log(this, instantiateOp.Result.name); + } + } +} \ No newline at end of file diff --git a/Samples~/Test Sample/Runtime/TestLoadPanel.cs.meta b/Samples~/Test Sample/Runtime/TestLoadPanel.cs.meta new file mode 100644 index 0000000..96a344a --- /dev/null +++ b/Samples~/Test Sample/Runtime/TestLoadPanel.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3260bac2b14f0e949a2555a073cfb9fc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples~/Test Sample/TestRes/Panel.meta b/Samples~/Test Sample/TestRes/Panel.meta new file mode 100644 index 0000000..364171c --- /dev/null +++ b/Samples~/Test Sample/TestRes/Panel.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4e9a00d6e825d644b9be75155d88daa6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples~/Test Sample/TestRes/Panel/panel_a.prefab b/Samples~/Test Sample/TestRes/Panel/panel_a.prefab new file mode 100644 index 0000000..ebf2a16 --- /dev/null +++ b/Samples~/Test Sample/TestRes/Panel/panel_a.prefab @@ -0,0 +1,81 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6283027362666271047 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2037322908504346998} + - component: {fileID: 7980853937325680292} + - component: {fileID: 8207247306684829080} + m_Layer: 0 + m_Name: panel_a + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2037322908504346998 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7980853937325680292 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_CullTransparentMesh: 1 +--- !u!114 &8207247306684829080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: this is panel a ! diff --git a/Samples~/Test Sample/TestRes/Panel/panel_a.prefab.meta b/Samples~/Test Sample/TestRes/Panel/panel_a.prefab.meta new file mode 100644 index 0000000..41de09c --- /dev/null +++ b/Samples~/Test Sample/TestRes/Panel/panel_a.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d60a4c3149ab06b468e38b88612419d6 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples~/Test Sample/TestRes/Panel/panel_b.prefab b/Samples~/Test Sample/TestRes/Panel/panel_b.prefab new file mode 100644 index 0000000..4d57d6c --- /dev/null +++ b/Samples~/Test Sample/TestRes/Panel/panel_b.prefab @@ -0,0 +1,81 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6283027362666271047 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2037322908504346998} + - component: {fileID: 7980853937325680292} + - component: {fileID: 8207247306684829080} + m_Layer: 0 + m_Name: panel_b + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2037322908504346998 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7980853937325680292 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_CullTransparentMesh: 1 +--- !u!114 &8207247306684829080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: this is panel b ! diff --git a/Samples~/Test Sample/TestRes/Panel/panel_b.prefab.meta b/Samples~/Test Sample/TestRes/Panel/panel_b.prefab.meta new file mode 100644 index 0000000..36cdb33 --- /dev/null +++ b/Samples~/Test Sample/TestRes/Panel/panel_b.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 515c0ceab1fb10c4180748003da58232 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab b/Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab new file mode 100644 index 0000000..516de91 --- /dev/null +++ b/Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab @@ -0,0 +1,70 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6283027362666271047 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2037322908504346998} + - component: {fileID: 7980853937325680292} + - component: {fileID: -2226153785594138141} + m_Layer: 0 + m_Name: panel_canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2037322908504346998 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7980853937325680292 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_CullTransparentMesh: 1 +--- !u!223 &-2226153785594138141 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6283027362666271047} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 1 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 diff --git a/Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab.meta b/Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab.meta new file mode 100644 index 0000000..3d478c9 --- /dev/null +++ b/Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bbefb050721c78a4fb44853720eaa76c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples~/Test Sample/TestRes/Scene/scene_c.unity b/Samples~/Test Sample/TestRes/Scene/scene_c.unity index 8203e32..8a424cc 100644 --- a/Samples~/Test Sample/TestRes/Scene/scene_c.unity +++ b/Samples~/Test Sample/TestRes/Scene/scene_c.unity @@ -333,7 +333,6 @@ GameObject: m_Component: - component: {fileID: 2032300069} - component: {fileID: 2032300068} - - component: {fileID: 2032300067} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -341,14 +340,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &2032300067 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2032300066} - m_Enabled: 1 --- !u!20 &2032300068 Camera: m_ObjectHideFlags: 0 diff --git a/package.json b/package.json index bcac2e0..8a948de 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "com.alicizax.unity.tuyoogame.yooasset", "displayName": "YooAsset", - "version": "2.2.8-preview", + "version": "2.2.9", "unity": "2019.4", "description": "unity3d resources management system.", "author": {