From 01ab90515565b72166bf899a3452f9a923e90fff Mon Sep 17 00:00:00 2001
From: fengjiayi <12821976+ning_xi@user.noreply.gitee.com>
Date: Sun, 13 Jul 2025 17:34:03 +0800
Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=86=99=E8=84=9A=E6=9C=AC=E8=A7=A3?=
=?UTF-8?q?=E9=87=8A=E5=99=A8=E7=9A=84=E5=AE=9E=E7=8E=B0=EF=BC=8C=E6=8F=90?=
=?UTF-8?q?=E9=AB=98=E5=85=B6=E5=8F=AF=E8=AF=BB=E6=80=A7=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Library/FlowNode/MethodDetails.cs | 2 +-
NodeFlow/Env/FlowControl.cs | 64 +-
NodeFlow/Env/FlowEdit.cs | 39 +-
NodeFlow/Model/Node/SingleFlowCallNode.cs | 44 +-
NodeFlow/Model/Node/SingleScriptNode.cs | 39 +-
.../ChangeNodeConnectionOperation.cs | 55 +-
Serein.Script/Node/AssignmentNode.cs | 2 +-
Serein.Script/Node/ClassTypeDefinitionNode.cs | 20 +
Serein.Script/Node/CollectionIndexNode.cs | 27 +-
...berExpressionNode.cs => ExpressionNode.cs} | 4 +-
.../Node/{ => FlowControl}/IfNode.cs | 2 +-
.../Node/{ => FlowControl}/ProgramNode.cs | 2 +-
.../Node/{ => FlowControl}/ReturnNode.cs | 2 +-
.../Node/{ => FlowControl}/WhileNode.cs | 2 +-
.../Node/{ => ValueNode}/BooleanNode.cs | 0
.../Node/{ => ValueNode}/CharNode.cs | 0
.../Node/{ => ValueNode}/NullNode.cs | 0
.../NumberNode.cs} | 0
.../Node/{ => ValueNode}/StringNode.cs | 0
Serein.Script/SereinScriptInterpreter.cs | 84 +-
Serein.Script/SereinScriptLexer.cs | 10 +
Serein.Script/SereinScriptParser.cs | 1515 +++++++++++++----
Serein.Script/SereinScriptTypeAnalysis.cs | 245 +--
.../Node/Junction/JunctionControlBase.cs | 57 +-
Workbench/Node/Junction/JunctionData.cs | 20 +-
.../Node/Junction/View/ArgJunctionControl.cs | 2 +-
Workbench/Node/View/ActionNodeControl.xaml | 8 +-
Workbench/Node/View/ActionNodeControl.xaml.cs | 4 +-
Workbench/Node/View/ConditionNodeControl.xaml | 8 +-
Workbench/Node/View/ConnectionControl.cs | 13 +-
Workbench/Node/View/ExpOpNodeControl.xaml | 8 +-
Workbench/Node/View/FlipflopNodeControl.xaml | 8 +-
Workbench/Node/View/FlowCallNodeControl.xaml | 4 +-
Workbench/Node/View/GlobalDataControl.xaml | 4 +-
Workbench/Node/View/NetScriptNodeControl.xaml | 4 +-
Workbench/Node/View/ScriptNodeControl.xaml | 11 +-
Workbench/Node/View/UINodeControl.xaml | 2 +-
.../ViewModel/FlowCallNodeControlViewModel.cs | 18 +-
Workbench/Services/FlowNodeService.cs | 4 -
Workbench/Themes/MethodDetailsControl.xaml | 17 +-
Workbench/Themes/MethodDetailsControl.xaml.cs | 14 +
Workbench/Views/FlowCanvasView.xaml.cs | 98 +-
42 files changed, 1747 insertions(+), 715 deletions(-)
rename Serein.Script/Node/{ObjectMemberExpressionNode.cs => ExpressionNode.cs} (67%)
rename Serein.Script/Node/{ => FlowControl}/IfNode.cs (95%)
rename Serein.Script/Node/{ => FlowControl}/ProgramNode.cs (92%)
rename Serein.Script/Node/{ => FlowControl}/ReturnNode.cs (92%)
rename Serein.Script/Node/{ => FlowControl}/WhileNode.cs (93%)
rename Serein.Script/Node/{ => ValueNode}/BooleanNode.cs (100%)
rename Serein.Script/Node/{ => ValueNode}/CharNode.cs (100%)
rename Serein.Script/Node/{ => ValueNode}/NullNode.cs (100%)
rename Serein.Script/Node/{NumberIntNode.cs => ValueNode/NumberNode.cs} (100%)
rename Serein.Script/Node/{ => ValueNode}/StringNode.cs (100%)
diff --git a/Library/FlowNode/MethodDetails.cs b/Library/FlowNode/MethodDetails.cs
index d407fdd..340f69d 100644
--- a/Library/FlowNode/MethodDetails.cs
+++ b/Library/FlowNode/MethodDetails.cs
@@ -292,7 +292,7 @@ namespace Serein.Library
/// 从DLL拖动出来时,从元数据拷贝新的实例,作为属于节点独享的方法描述
///
///
- public MethodDetails CloneOfNode( IFlowNode nodeModel)
+ public MethodDetails CloneOfNode(IFlowNode nodeModel)
{
// this => 是元数据
var md = new MethodDetails(nodeModel) // 创建新节点时拷贝实例
diff --git a/NodeFlow/Env/FlowControl.cs b/NodeFlow/Env/FlowControl.cs
index 9b37153..cebe6a5 100644
--- a/NodeFlow/Env/FlowControl.cs
+++ b/NodeFlow/Env/FlowControl.cs
@@ -48,11 +48,7 @@ namespace Serein.NodeFlow.Env
///
private RunState FlipFlopState = RunState.NoStart;
-
- ///
- /// 异步运行
- ///
- ///
+ ///
public async Task StartFlowAsync(string[] canvasGuids)
{
#region 校验参数
@@ -144,12 +140,7 @@ namespace Serein.NodeFlow.Env
return true;
}
-
- ///
- /// 从选定节点开始运行
- ///
- ///
- ///
+ ///
public async Task StartFlowAsync(string startNodeGuid)
{
@@ -207,10 +198,7 @@ namespace Serein.NodeFlow.Env
}
return result;
}*/
-
- ///
- /// 结束流程
- ///
+ ///
public Task ExitFlowAsync()
{
flowWorkManagement?.Exit();
@@ -220,11 +208,7 @@ namespace Serein.NodeFlow.Env
GC.Collect();
return Task.FromResult(true);
}
-
- ///
- /// 激活全局触发器
- ///
- ///
+ ///
public void ActivateFlipflopNode(string nodeGuid)
{
/*if (!TryGetNodeModel(nodeGuid, out var nodeModel))
@@ -242,11 +226,7 @@ namespace Serein.NodeFlow.Env
}
}*/
}
-
- ///
- /// 关闭全局触发器
- ///
- ///
+ ///
public void TerminateFlipflopNode(string nodeGuid)
{
/* if (!TryGetNodeModel(nodeGuid, out var nodeModel))
@@ -264,24 +244,12 @@ namespace Serein.NodeFlow.Env
{
this.sereinIOC = ioc; // 设置IOC容器
}
-
- ///
- /// 启动器调用,运行到某个节点时触发了监视对象的更新(对象预览视图将会自动更新)
- ///
- ///
- ///
- ///
+ ///
public void MonitorObjectNotification(string nodeGuid, object monitorData, MonitorObjectEventArgs.ObjSourceType sourceType)
{
flowEnvironmentEvent.OnMonitorObjectChanged(new MonitorObjectEventArgs(nodeGuid, monitorData, sourceType));
}
-
- ///
- /// 启动器调用,节点触发了中断。
- ///
- /// 节点
- /// 表达式
- /// 类型,0用户主动的中断,1表达式中断
+ ///
public void TriggerInterrupt(string nodeGuid, string expression, InterruptTriggerEventArgs.InterruptTriggerType type)
{
flowEnvironmentEvent.OnInterruptTriggered(new InterruptTriggerEventArgs(nodeGuid, expression, type));
@@ -292,28 +260,14 @@ namespace Serein.NodeFlow.Env
#region 流程接口调用
-
- ///
- /// 调用流程接口,将返回 FlowResult.Value。如果需要 FlowResult 对象,请使用该方法的泛型版本。
- ///
- /// 流程接口节点Guid
- /// 调用时入参参数
- ///
+ ///
public async Task