diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/AssetBundleSimulateBuilder.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/AssetBundleSimulateBuilder.cs
index bf18abf1..4508ed80 100644
--- a/Assets/YooAsset/Editor/AssetBundleBuilder/AssetBundleSimulateBuilder.cs
+++ b/Assets/YooAsset/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/Assets/YooAsset/Runtime/PakcageInvokeBuilder.meta b/Assets/YooAsset/Runtime/PakcageInvokeBuilder.meta
new file mode 100644
index 00000000..75cf2eb1
--- /dev/null
+++ b/Assets/YooAsset/Runtime/PakcageInvokeBuilder.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0c4881e782cbf0d4aa6f8309efd22865
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/YooAsset/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildParam.cs b/Assets/YooAsset/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildParam.cs
new file mode 100644
index 00000000..7bed383e
--- /dev/null
+++ b/Assets/YooAsset/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/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildParam.cs.meta b/Assets/YooAsset/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildParam.cs.meta
similarity index 100%
rename from Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildParam.cs.meta
rename to Assets/YooAsset/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildParam.cs.meta
diff --git a/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildResult.cs b/Assets/YooAsset/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildResult.cs
similarity index 64%
rename from Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildResult.cs
rename to Assets/YooAsset/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildResult.cs
index fa2f0594..d3abf88a 100644
--- a/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildResult.cs
+++ b/Assets/YooAsset/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildResult.cs
@@ -1,7 +1,7 @@
namespace YooAsset
{
- public class EditorSimulateBuildResult
+ public class PackageInvokeBuildResult
{
public string PackageRootDirectory;
}
diff --git a/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildResult.cs.meta b/Assets/YooAsset/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildResult.cs.meta
similarity index 100%
rename from Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildResult.cs.meta
rename to Assets/YooAsset/Runtime/PakcageInvokeBuilder/PakcageInvokeBuildResult.cs.meta
diff --git a/Assets/YooAsset/Runtime/PakcageInvokeBuilder/PakcageInvokeBuilder.cs b/Assets/YooAsset/Runtime/PakcageInvokeBuilder/PakcageInvokeBuilder.cs
new file mode 100644
index 00000000..9941fc61
--- /dev/null
+++ b/Assets/YooAsset/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/Assets/YooAsset/Runtime/PakcageInvokeBuilder/PakcageInvokeBuilder.cs.meta b/Assets/YooAsset/Runtime/PakcageInvokeBuilder/PakcageInvokeBuilder.cs.meta
new file mode 100644
index 00000000..dd84db16
--- /dev/null
+++ b/Assets/YooAsset/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/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildParam.cs b/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildParam.cs
deleted file mode 100644
index 5124d75b..00000000
--- a/Assets/YooAsset/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/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs b/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs
index 24234e56..90bef32d 100644
--- a/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs
+++ b/Assets/YooAsset/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/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs.meta b/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs.meta
index dd84db16..4eaf3a63 100644
--- a/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs.meta
+++ b/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 5b09fe4b7aa2d2143bc538976541b039
+guid: b0a23f529c8bf4943a371ee6b360e698
MonoImporter:
externalObjects: {}
serializedVersion: 2