diff --git a/README.md b/README.md index c97e931..ffea762 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,13 @@ 不定期在Bilibili个人空间上更新相关的视频。 https://space.bilibili.com/33526379 -# 计划任务 2024年10月13日更新 -* (优先)正在开发远程管理插件与远程操作客户端 +# 计划任务 2024年10月28日更新 +* 正在重写节点的实现方式 +* 准备新增基础节点“属性包装器”,用来收集各个节点的数据,包装成匿名对象/Json类型(暂时未想到如何设计) +* 后续拓展远程管理与远程客户端的功能(目前仅支持远程修改节点属性、添加/移除节点、启动流程、停止流程) +* 计划实现单步执行(暂未想到如何在不影响异步流程的前提下停止流程) +* 计划实现节点树视图、IOC容器对象视图(目前残废版) * 计划实现不停机更新类库(更新整个DLL/某个节点),但似乎难度过大 -* 计划实现单步执行 -* 计划实现节点树视图、IOC容器对象视图 -* 计划新增基础节点“属性包装器”,用来收集各个节点的数据,包装成匿名对象/Json类型(暂时未想到如何设计) # 如何加载我的DLL? @@ -45,7 +46,7 @@ https://space.bilibili.com/33526379 ## 3. 从DLL生成控件的枚举值: * **Action - 动作** - * 入参:自定义。如果传入DynamicContext,会传入当前的上下文;如果传入NodeBase,会传入节点对应的Model。第一个非[Explicit]特性的参数会尝试从上一节点的获取FlowData变量,并根据当前入参类型,尝试进行类型转换。 + * 入参:自定义。如果传入IDynamicContext,会传入当前的上下文;如果传入NodeBase,会传入节点对应的Model。如果不显式指定参数来源,参数会尝试获取运行时上一节点返回值,并根据当前入参类型尝试进行类型转换。 * 返回值:自定义,返回值由对应的Model类的object? FlowData变量接收。支持异步等待。 * 描述:同步执行对应的方法。 diff --git a/WorkBench/App.xaml.cs b/WorkBench/App.xaml.cs index 1d0d606..e579881 100644 --- a/WorkBench/App.xaml.cs +++ b/WorkBench/App.xaml.cs @@ -13,7 +13,7 @@ namespace Serein.Workbench void LoadLocalProject() { #if DEBUG - if (1 == 11) + if (1 == 1) { string filePath; filePath = @"F:\临时\project\linux\http\project.dnf"; diff --git a/Workbench/Node/Junction/ConnectionLineShape.cs b/Workbench/Node/Junction/ConnectionLineShape.cs index e8805c4..5054706 100644 --- a/Workbench/Node/Junction/ConnectionLineShape.cs +++ b/Workbench/Node/Junction/ConnectionLineShape.cs @@ -67,8 +67,10 @@ namespace Serein.Workbench.Node.View hitVisiblePen = new Pen(Brushes.Transparent, 1.0); // 初始化碰撞检测线 hitVisiblePen.Freeze(); // Freeze以提高性能 visualPen = new Pen(brush, 3.0); // 默认可视化Pen + opacity = 1.0d; if (isDotted) { + opacity = 0.42d; visualPen.DashStyle = DashStyles.Dash; // 选择虚线样式 } visualPen.Freeze(); // Freeze以提高性能 @@ -112,6 +114,7 @@ namespace Serein.Workbench.Node.View startPoint = point; InvalidateVisual(); // 触发重绘 } + /// /// 控件重绘事件 /// @@ -142,6 +145,8 @@ namespace Serein.Workbench.Node.View private Point startPoint; // 连接线的起始节点 private Point endPoint; // 连接线的终点 private Brush brush; // 线条颜色 + private double opacity; // 透明度 + double linkSize; // 根据缩放比例调整线条粗细 protected override Geometry DefiningGeometry => streamGeometry; @@ -161,7 +166,7 @@ namespace Serein.Workbench.Node.View { // 控制点的计算逻辑 double power = 140; // 控制贝塞尔曲线的“拉伸”强度 - + drawingContext.PushOpacity(opacity); // 计算轴向向量与起点到终点的向量 //var axis = new Vector(1, 0); startToEnd = (end.ToVector() - start.ToVector()).NormalizeTo(); @@ -184,6 +189,7 @@ namespace Serein.Workbench.Node.View context.BezierTo(c0, c1, end, true, false); // 画贝塞尔曲线 } drawingContext.DrawGeometry(null, visualPen, streamGeometry); + }