diff --git a/Assets/YooAsset/Runtime/FileSystem/FileSystemParameters.cs b/Assets/YooAsset/Runtime/FileSystem/FileSystemParameters.cs
index 80901585..15d88727 100644
--- a/Assets/YooAsset/Runtime/FileSystem/FileSystemParameters.cs
+++ b/Assets/YooAsset/Runtime/FileSystem/FileSystemParameters.cs
@@ -69,12 +69,12 @@ namespace YooAsset
#region 创建默认的文件系统类
///
/// 创建默认的编辑器文件系统参数
- /// 模拟构建结果
+ /// 文件系统的根目录
///
- public static FileSystemParameters CreateDefaultEditorFileSystemParameters(EditorSimulateBuildResult simulateBuildResult)
+ public static FileSystemParameters CreateDefaultEditorFileSystemParameters(string packageRoot)
{
string fileSystemClass = typeof(DefaultEditorFileSystem).FullName;
- var fileSystemParams = new FileSystemParameters(fileSystemClass, simulateBuildResult.PackageRootDirectory);
+ var fileSystemParams = new FileSystemParameters(fileSystemClass, packageRoot);
return fileSystemParams;
}
@@ -82,7 +82,7 @@ namespace YooAsset
/// 创建默认的内置文件系统参数
///
/// 加密文件解密服务类
- /// 内置文件的根路径
+ /// 文件系统的根目录
public static FileSystemParameters CreateDefaultBuildinFileSystemParameters(IDecryptionServices decryptionServices = null, string packageRoot = null)
{
string fileSystemClass = typeof(DefaultBuildinFileSystem).FullName;
diff --git a/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildParam.cs b/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildParam.cs
index a946f3b4..fe2345d4 100644
--- a/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildParam.cs
+++ b/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateBuildParam.cs
@@ -12,5 +12,22 @@ namespace YooAsset
/// 模拟构建管线名称
///
public string BuildPipelineName = "EditorSimulateBuildPipeline";
+
+ ///
+ /// 模拟构建类所属程序集名称
+ ///
+ public string InvokeAssmeblyName = "YooAsset.Editor";
+
+ ///
+ /// 模拟构建执行的类名全称
+ /// 注意:类名必须包含命名空间!
+ ///
+ public string InvokeClassFullName = "YooAsset.Editor.AssetBundleSimulateBuilder";
+
+ ///
+ /// 模拟构建执行的方法名称
+ /// 注意:执行方法必须满足 BindingFlags.Public | BindingFlags.Static
+ ///
+ public string InvokeMethodName = "SimulateBuild";
}
}
\ 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 160ba028..24234e56 100644
--- a/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs
+++ b/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/EditorSimulateModeHelper.cs
@@ -5,17 +5,16 @@ namespace YooAsset
{
public static class EditorSimulateModeHelper
{
- private static System.Type _classType;
-
///
/// 编辑器下模拟构建清单
///
public static EditorSimulateBuildResult SimulateBuild(EditorSimulateBuildParam buildParam)
{
- if (_classType == null)
- _classType = Assembly.Load("YooAsset.Editor").GetType("YooAsset.Editor.AssetBundleSimulateBuilder");
-
- return (EditorSimulateBuildResult)InvokePublicStaticMethod(_classType, "SimulateBuild", buildParam);
+ 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)