| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- using System.Reflection;
- using WeEngine.Enum;
- using WeEngine.Packages;
- namespace WeEngine.Module.Runner
- {
- public class PackageRunnerModuleContextBase
- {
- private IPackageRunnerModule PackageRunnerModule { get; }
- public string ModuleName { get; }
- public PackageRunnerModuleContextBase(PackageRunnerModuleBase packageRunnerModule)
- {
- PackageRunnerModule = packageRunnerModule;
- }
- public PackageRunnerModuleContextBase(string moduleName,PackageInfo package)
- {
- ModuleName = moduleName;
- //string className = $"WeEngine.Module.Runner.{moduleName}";
- string className = $"WeEngine.Module.Runner.{moduleName}";
- Assembly asm = Assembly.GetExecutingAssembly();
- object[] parameters = new object[1]; // 定义构造函数需要的参数,所有参数都版必须为Object
- parameters[0] = package;
- PackageRunnerModule = (IPackageRunnerModule)asm.CreateInstance(className, true, BindingFlags.Default,
- null, parameters, null, null);
- }
- /// <summary>
- /// 运行方案包
- /// </summary>
- /// <param name="node"></param>
- /// <param name="operationType"></param>
- /// <returns></returns>
- public bool Run(NodeBase node, OperationType operationType)
- {
- return PackageRunnerModule.Run(node, operationType);
- }
- /// <summary>
- /// 运行方案包
- /// </summary>
- /// <param name="path"></param>
- /// <param name="operationType"></param>
- /// <returns></returns>
- public bool Run(string path, OperationType operationType)
- {
- return PackageRunnerModule.Run(path, operationType);
- }
- }
- public class PackageRunnerModuleContext : PackageRunnerModuleContextBase
- {
- public PackageRunnerModuleContext(PackageRunnerModuleBase packageRunnerModule) : base(packageRunnerModule)
- {
- }
- public PackageRunnerModuleContext(string moduleName,PackageInfo package) : base(moduleName,package)
- {
- }
- }
- }
|