From c97e96015b075f64199110b48ae3f4c3fe17f4dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=99=88=E6=80=9D=E6=B5=B7?= <10001@qq.com>
Date: Wed, 5 Feb 2025 13:06:28 +0800
Subject: [PATCH] update 2.2.9
---
CHANGELOG.md | 15 ++
.../AssetBundleSimulateBuilder.cs | 4 +-
Editor/AssetBundleBuilder/BuildParameters.cs | 34 ++-
.../BuildSystem/ErrorCode.cs | 2 +
LICENSE.md | 2 +-
.../DownloadSystem/DownloadSystemHelper.cs | 16 +-
Runtime/PakcageInvokeBuilder.meta | 8 +
.../PakcageInvokeBuildParam.cs | 38 +++
.../PakcageInvokeBuildParam.cs.meta} | 0
.../PakcageInvokeBuildResult.cs} | 2 +-
.../PakcageInvokeBuildResult.cs.meta} | 0
.../PakcageInvokeBuilder.cs | 43 ++++
.../PakcageInvokeBuilder.cs.meta | 11 +
.../PlayMode/EditorSimulateBuildParam.cs | 38 ---
.../PlayMode/EditorSimulateModeHelper.cs | 47 +---
.../PlayMode/EditorSimulateModeHelper.cs.meta | 2 +-
Runtime/link.xml | 225 ------------------
Runtime/link.xml.meta | 3 -
.../ByteGameFileSystem/ByteGameFileSystem.cs | 4 +-
.../LoadByteGamePackageManifestOperation.cs | 4 +-
.../WXFSClearAllBundleFilesOperation.cs | 2 +-
.../WXFSClearUnusedBundleFilesAsync.cs | 2 +-
.../LoadWechatPackageManifestOperation.cs | 4 +-
.../WechatFileSystem/WechatFileSystem.cs | 4 +-
.../FsmNode/FsmInitializePackage.cs | 5 +-
...mulateBuilder.cs => TestPackageBuilder.cs} | 14 +-
...der.cs.meta => TestPackageBuilder.cs.meta} | 0
.../Runtime/AssetBundleCollectorMaker.cs | 11 +
.../Runtime/BuildinFileSystemTester.cs | 31 ++-
.../Runtime/EditorFileSystemTester.cs | 23 +-
Samples~/Test Sample/Runtime/TestLoadPanel.cs | 40 ++++
.../Test Sample/Runtime/TestLoadPanel.cs.meta | 11 +
Samples~/Test Sample/TestRes/Panel.meta | 8 +
.../Test Sample/TestRes/Panel/panel_a.prefab | 81 +++++++
.../TestRes/Panel/panel_a.prefab.meta | 7 +
.../Test Sample/TestRes/Panel/panel_b.prefab | 81 +++++++
.../TestRes/Panel/panel_b.prefab.meta | 7 +
.../TestRes/Panel/panel_canvas.prefab | 70 ++++++
.../TestRes/Panel/panel_canvas.prefab.meta | 7 +
.../Test Sample/TestRes/Scene/scene_c.unity | 9 -
package.json | 2 +-
41 files changed, 544 insertions(+), 373 deletions(-)
create mode 100644 Runtime/PakcageInvokeBuilder.meta
create mode 100644 Runtime/PakcageInvokeBuilder/PakcageInvokeBuildParam.cs
rename Runtime/{ResourcePackage/PlayMode/EditorSimulateBuildParam.cs.meta => PakcageInvokeBuilder/PakcageInvokeBuildParam.cs.meta} (100%)
rename Runtime/{ResourcePackage/PlayMode/EditorSimulateBuildResult.cs => PakcageInvokeBuilder/PakcageInvokeBuildResult.cs} (65%)
rename Runtime/{ResourcePackage/PlayMode/EditorSimulateBuildResult.cs.meta => PakcageInvokeBuilder/PakcageInvokeBuildResult.cs.meta} (100%)
create mode 100644 Runtime/PakcageInvokeBuilder/PakcageInvokeBuilder.cs
create mode 100644 Runtime/PakcageInvokeBuilder/PakcageInvokeBuilder.cs.meta
delete mode 100644 Runtime/ResourcePackage/PlayMode/EditorSimulateBuildParam.cs
delete mode 100644 Runtime/link.xml
delete mode 100644 Runtime/link.xml.meta
rename Samples~/Test Sample/Editor/{TestSimulateBuilder.cs => TestPackageBuilder.cs} (94%)
rename Samples~/Test Sample/Editor/{TestSimulateBuilder.cs.meta => TestPackageBuilder.cs.meta} (100%)
create mode 100644 Samples~/Test Sample/Runtime/TestLoadPanel.cs
create mode 100644 Samples~/Test Sample/Runtime/TestLoadPanel.cs.meta
create mode 100644 Samples~/Test Sample/TestRes/Panel.meta
create mode 100644 Samples~/Test Sample/TestRes/Panel/panel_a.prefab
create mode 100644 Samples~/Test Sample/TestRes/Panel/panel_a.prefab.meta
create mode 100644 Samples~/Test Sample/TestRes/Panel/panel_b.prefab
create mode 100644 Samples~/Test Sample/TestRes/Panel/panel_b.prefab.meta
create mode 100644 Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab
create mode 100644 Samples~/Test Sample/TestRes/Panel/panel_canvas.prefab.meta
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": {