使用异步重构了节点执行方法,将触发器节点与其他节点统一。使用Channel代替Tcs更改了信号触发,使其符合异步编程的习惯。增加了节点是否启用勾选框、参数遮罩勾选框,节点右键面板增加中断功能(试验)。增加了选择后被选择的节点的视觉效果。更改平移缩放逻辑,使其更加符合一般的使用习惯。

This commit is contained in:
fengjiayi
2024-09-20 10:50:32 +08:00
parent 8335094656
commit f5924aa31e
30 changed files with 1298 additions and 539 deletions

View File

@@ -28,7 +28,8 @@ namespace Serein.NodeFlow.Model
public string Expression { get; set; }
public override object? Execute(IDynamicContext context)
//public override object? Executing(IDynamicContext context)
public override Task<object?> ExecutingAsync(IDynamicContext context)
{
// 接收上一节点参数or自定义参数内容
object? result;
@@ -52,7 +53,7 @@ namespace Serein.NodeFlow.Model
}
Console.WriteLine($"{result} {Expression} -> " + NextOrientation);
return result;
return Task.FromResult(result);
}
internal override Parameterdata[] GetParameterdatas()