改写NodeModelBase类,使其继承Serein.Library.Api下的IFlowNode接口,而实现类迁移到NodeModel项目,方便后续节点运行逻辑修改时不用重新编译类库。

This commit is contained in:
fengjiayi
2025-05-31 12:15:01 +08:00
parent cc0b084c84
commit 84390b574f
36 changed files with 562 additions and 121 deletions

View File

@@ -18,14 +18,14 @@ namespace Serein.Workbench.Themes
private Dictionary<string, NodeTreeItemViewControl> globalFlipflopNodes = [];
private Dictionary<string, NodeTreeItemViewControl> unemployedNodes = [];
public void LoadNodeTreeOfStartNode(IFlowEnvironment flowEnvironment, NodeModelBase nodeModel)
public void LoadNodeTreeOfStartNode(IFlowEnvironment flowEnvironment, IFlowNode nodeModel)
{
startNodeGuid = nodeModel.Guid;
StartNodeViewer.InitAndLoadTree(flowEnvironment, nodeModel);
}
#region
public void AddGlobalFlipFlop(IFlowEnvironment flowEnvironment, NodeModelBase nodeModel)
public void AddGlobalFlipFlop(IFlowEnvironment flowEnvironment, IFlowNode nodeModel)
{
if (!globalFlipflopNodes.ContainsKey(nodeModel.Guid))
{
@@ -35,14 +35,14 @@ namespace Serein.Workbench.Themes
GlobalFlipflopNodeListbox.Items.Add(flipflopTreeViewer);
}
}
public void RefreshGlobalFlipFlop(NodeModelBase nodeModel)
public void RefreshGlobalFlipFlop(IFlowNode nodeModel)
{
if (globalFlipflopNodes.TryGetValue(nodeModel.Guid, out var viewer))
{
viewer.RefreshTree();
}
}
public void RemoveGlobalFlipFlop(NodeModelBase nodeModel)
public void RemoveGlobalFlipFlop(IFlowNode nodeModel)
{
if (globalFlipflopNodes.TryGetValue(nodeModel.Guid, out var viewer))
{
@@ -54,7 +54,7 @@ namespace Serein.Workbench.Themes
#region
public void AddUnemployed(IFlowEnvironment flowEnvironment, NodeModelBase nodeModel)
public void AddUnemployed(IFlowEnvironment flowEnvironment, IFlowNode nodeModel)
{
if (!unemployedNodes.ContainsKey(nodeModel.Guid))
{
@@ -64,14 +64,14 @@ namespace Serein.Workbench.Themes
GlobalFlipflopNodeListbox.Items.Add(flipflopTreeViewer);
}
}
public void RefreshUnemployed(NodeModelBase nodeModel)
public void RefreshUnemployed(IFlowNode nodeModel)
{
if (unemployedNodes.TryGetValue(nodeModel.Guid, out var viewer))
{
viewer.RefreshTree();
}
}
public void RemoteUnemployed(NodeModelBase nodeModel)
public void RemoteUnemployed( IFlowNode nodeModel)
{
if (unemployedNodes.TryGetValue(nodeModel.Guid, out var viewer))
{