修改了Library相关接口更改后,Workbench不能正确监听环境事件的问题

This commit is contained in:
fengjiayi
2024-12-31 21:47:01 +08:00
parent d3312f4989
commit 6c6d493f93
3 changed files with 58 additions and 50 deletions

View File

@@ -255,21 +255,28 @@ namespace Serein.Library
public override string ToString() public override string ToString()
{ {
var tmp = this.MethodName.Split('.') ;
var methodName = tmp[tmp.Length - 1];
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.AppendLine($"节点Guid{this.NodeModel.Guid}"); sb.AppendLine($"节点Guid");
sb.AppendLine($"方法别名:{this.MethodAnotherName}"); sb.AppendLine($"\t{this.NodeModel.Guid}");
sb.AppendLine($"方法名称:{this.MethodName}"); sb.AppendLine();
sb.AppendLine($"需要实例:{this.ActingInstanceType?.FullName}"); sb.AppendLine($"方法名称:");
sb.AppendLine($"\t{methodName}");
sb.AppendLine($"方法别名:");
sb.AppendLine($"\t{this.MethodAnotherName}");
sb.AppendLine($"需要实例:");
sb.AppendLine($"\t{this.ActingInstanceType?.FullName}");
sb.AppendLine($""); sb.AppendLine($"");
sb.AppendLine($"入参参数信息:"); sb.AppendLine($"入参信息:");
for (int i = 0; i < ParameterDetailss.Length; i++) for (int i = 0; i < ParameterDetailss.Length; i++)
{ {
ParameterDetails arg = this.ParameterDetailss[i]; ParameterDetails arg = this.ParameterDetailss[i];
sb.AppendLine(arg.ToString()); sb.AppendLine(arg.ToString());
} }
sb.AppendLine($""); sb.AppendLine();
sb.AppendLine($"返回值信息:"); sb.AppendLine($"返回值信息:");
sb.AppendLine($" {this.ReturnType?.FullName}"); sb.AppendLine($"\t{this.ReturnType?.FullName}");
return sb.ToString(); return sb.ToString();
} }

View File

@@ -317,7 +317,7 @@ namespace Serein.Library
public override string ToString() public override string ToString()
{ {
return $"[{this.Index}] {this.Name} : {this.ExplicitType?.FullName} -> {this.DataType?.FullName}"; return $"[{this.Index}] {this.Name} : {this.DataType?.FullName}";
} }
} }

View File

@@ -55,6 +55,7 @@ namespace Serein.Workbench
/// 流程环境装饰器,方便在本地与远程环境下切换 /// 流程环境装饰器,方便在本地与远程环境下切换
/// </summary> /// </summary>
private IFlowEnvironment EnvDecorator => ViewModel.FlowEnvironment; private IFlowEnvironment EnvDecorator => ViewModel.FlowEnvironment;
private IFlowEnvironmentEvent EnvEventDecorator => ViewModel.FlowEnvironment as IFlowEnvironmentEvent;
private MainWindowViewModel ViewModel { get; set; } private MainWindowViewModel ViewModel { get; set; }
@@ -192,27 +193,27 @@ namespace Serein.Workbench
/// </summary> /// </summary>
private void InitFlowEnvironmentEvent() private void InitFlowEnvironmentEvent()
{ {
EnvDecorator.OnDllLoad += FlowEnvironment_DllLoadEvent; EnvEventDecorator.OnDllLoad += FlowEnvironment_DllLoadEvent;
EnvDecorator.OnProjectSaving += EnvDecorator_OnProjectSaving; EnvEventDecorator.OnProjectSaving += EnvDecorator_OnProjectSaving;
EnvDecorator.OnProjectLoaded += FlowEnvironment_OnProjectLoaded; EnvEventDecorator.OnProjectLoaded += FlowEnvironment_OnProjectLoaded;
EnvDecorator.OnStartNodeChange += FlowEnvironment_StartNodeChangeEvent; EnvEventDecorator.OnStartNodeChange += FlowEnvironment_StartNodeChangeEvent;
EnvDecorator.OnNodeConnectChange += FlowEnvironment_NodeConnectChangeEvemt; EnvEventDecorator.OnNodeConnectChange += FlowEnvironment_NodeConnectChangeEvemt;
EnvDecorator.OnNodeCreate += FlowEnvironment_NodeCreateEvent; EnvEventDecorator.OnNodeCreate += FlowEnvironment_NodeCreateEvent;
EnvDecorator.OnNodeRemove += FlowEnvironment_NodeRemoveEvent; EnvEventDecorator.OnNodeRemove += FlowEnvironment_NodeRemoveEvent;
EnvDecorator.OnNodePlace += EnvDecorator_OnNodePlaceEvent; EnvEventDecorator.OnNodePlace += EnvDecorator_OnNodePlaceEvent;
EnvDecorator.OnNodeTakeOut += EnvDecorator_OnNodeTakeOutEvent; EnvEventDecorator.OnNodeTakeOut += EnvDecorator_OnNodeTakeOutEvent;
EnvDecorator.OnFlowRunComplete += FlowEnvironment_OnFlowRunCompleteEvent; EnvEventDecorator.OnFlowRunComplete += FlowEnvironment_OnFlowRunCompleteEvent;
EnvDecorator.OnMonitorObjectChange += FlowEnvironment_OnMonitorObjectChangeEvent; EnvEventDecorator.OnMonitorObjectChange += FlowEnvironment_OnMonitorObjectChangeEvent;
EnvDecorator.OnNodeInterruptStateChange += FlowEnvironment_OnNodeInterruptStateChangeEvent; EnvEventDecorator.OnNodeInterruptStateChange += FlowEnvironment_OnNodeInterruptStateChangeEvent;
EnvDecorator.OnInterruptTrigger += FlowEnvironment_OnInterruptTriggerEvent; EnvEventDecorator.OnInterruptTrigger += FlowEnvironment_OnInterruptTriggerEvent;
EnvDecorator.OnIOCMembersChanged += FlowEnvironment_OnIOCMembersChangedEvent; EnvEventDecorator.OnIOCMembersChanged += FlowEnvironment_OnIOCMembersChangedEvent;
EnvDecorator.OnNodeLocated += FlowEnvironment_OnNodeLocateEvent; EnvEventDecorator.OnNodeLocated += FlowEnvironment_OnNodeLocateEvent;
EnvDecorator.OnNodeMoved += FlowEnvironment_OnNodeMovedEvent; EnvEventDecorator.OnNodeMoved += FlowEnvironment_OnNodeMovedEvent;
EnvDecorator.OnEnvOut += FlowEnvironment_OnEnvOutEvent; EnvEventDecorator.OnEnvOut += FlowEnvironment_OnEnvOutEvent;
} }
@@ -222,27 +223,27 @@ namespace Serein.Workbench
/// </summary> /// </summary>
private void ResetFlowEnvironmentEvent() private void ResetFlowEnvironmentEvent()
{ {
EnvDecorator.OnDllLoad -= FlowEnvironment_DllLoadEvent; EnvEventDecorator.OnDllLoad -= FlowEnvironment_DllLoadEvent;
EnvDecorator.OnProjectSaving -= EnvDecorator_OnProjectSaving; EnvEventDecorator.OnProjectSaving -= EnvDecorator_OnProjectSaving;
EnvDecorator.OnProjectLoaded -= FlowEnvironment_OnProjectLoaded; EnvEventDecorator.OnProjectLoaded -= FlowEnvironment_OnProjectLoaded;
EnvDecorator.OnStartNodeChange -= FlowEnvironment_StartNodeChangeEvent; EnvEventDecorator.OnStartNodeChange -= FlowEnvironment_StartNodeChangeEvent;
EnvDecorator.OnNodeConnectChange -= FlowEnvironment_NodeConnectChangeEvemt; EnvEventDecorator.OnNodeConnectChange -= FlowEnvironment_NodeConnectChangeEvemt;
EnvDecorator.OnNodeCreate -= FlowEnvironment_NodeCreateEvent; EnvEventDecorator.OnNodeCreate -= FlowEnvironment_NodeCreateEvent;
EnvDecorator.OnNodeRemove -= FlowEnvironment_NodeRemoveEvent; EnvEventDecorator.OnNodeRemove -= FlowEnvironment_NodeRemoveEvent;
EnvDecorator.OnNodePlace -= EnvDecorator_OnNodePlaceEvent; EnvEventDecorator.OnNodePlace -= EnvDecorator_OnNodePlaceEvent;
EnvDecorator.OnNodeTakeOut -= EnvDecorator_OnNodeTakeOutEvent; EnvEventDecorator.OnNodeTakeOut -= EnvDecorator_OnNodeTakeOutEvent;
EnvDecorator.OnFlowRunComplete -= FlowEnvironment_OnFlowRunCompleteEvent; EnvEventDecorator.OnFlowRunComplete -= FlowEnvironment_OnFlowRunCompleteEvent;
EnvDecorator.OnMonitorObjectChange -= FlowEnvironment_OnMonitorObjectChangeEvent; EnvEventDecorator.OnMonitorObjectChange -= FlowEnvironment_OnMonitorObjectChangeEvent;
EnvDecorator.OnNodeInterruptStateChange -= FlowEnvironment_OnNodeInterruptStateChangeEvent; EnvEventDecorator.OnNodeInterruptStateChange -= FlowEnvironment_OnNodeInterruptStateChangeEvent;
EnvDecorator.OnInterruptTrigger -= FlowEnvironment_OnInterruptTriggerEvent; EnvEventDecorator.OnInterruptTrigger -= FlowEnvironment_OnInterruptTriggerEvent;
EnvDecorator.OnIOCMembersChanged -= FlowEnvironment_OnIOCMembersChangedEvent; EnvEventDecorator.OnIOCMembersChanged -= FlowEnvironment_OnIOCMembersChangedEvent;
EnvDecorator.OnNodeLocated -= FlowEnvironment_OnNodeLocateEvent; EnvEventDecorator.OnNodeLocated -= FlowEnvironment_OnNodeLocateEvent;
EnvDecorator.OnNodeMoved -= FlowEnvironment_OnNodeMovedEvent; EnvEventDecorator.OnNodeMoved -= FlowEnvironment_OnNodeMovedEvent;
EnvDecorator.OnEnvOut -= FlowEnvironment_OnEnvOutEvent; EnvEventDecorator.OnEnvOut -= FlowEnvironment_OnEnvOutEvent;
} }