重写脚本解释器的实现,提高其可读性。

This commit is contained in:
fengjiayi
2025-07-13 17:34:03 +08:00
parent 6141d2c1c1
commit 01ab905155
42 changed files with 1747 additions and 715 deletions

View File

@@ -3,6 +3,7 @@ using Serein.Library.Api;
using Serein.Workbench.Api;
using Serein.Workbench.Extension;
using Serein.Workbench.Tool;
using Serein.Workbench.ViewModels;
using System;
using System.Net;
using System.Windows;
@@ -260,17 +261,17 @@ namespace Serein.Workbench.Node.View
//
Canvas.Children.Remove(BezierLine);
var env = Start.MyNode.Env;
var canvasGuid = Start.MyNode.CanvasDetails.Guid;
var env = App.GetService<IFlowEnvironment>();
var canvasGuid = ((FlowCanvasViewModel)(Canvas.DataContext)).Model.Guid;
var jct = Start.JunctionType.ToConnectyionType();
var jctEnd = End.JunctionType.ToConnectyionType();
if (jct == JunctionOfConnectionType.Invoke)
{
env.FlowEdit.RemoveInvokeConnect(canvasGuid, Start.MyNode.Guid, End.MyNode.Guid, InvokeType);
env.FlowEdit.RemoveInvokeConnect(canvasGuid, Start.NodeGuid, End.NodeGuid, InvokeType);
}
else if (jct == JunctionOfConnectionType.Arg)
{
env.FlowEdit.RemoveArgSourceConnect(canvasGuid, Start.MyNode.Guid, End.MyNode.Guid, ArgIndex);
env.FlowEdit.RemoveArgSourceConnect(canvasGuid, Start.NodeGuid, End.NodeGuid, ArgIndex);
}
}
@@ -279,10 +280,10 @@ namespace Serein.Workbench.Node.View
/// </summary>
public void Topping()
{
var env = Start.MyNode.Env;
var env = App.GetService<IFlowEnvironment>();
if (Start.JunctionType.ToConnectyionType() == JunctionOfConnectionType.Invoke)
{
env.FlowEdit.SetConnectPriorityInvoke(Start.MyNode.Guid, End.MyNode.Guid, InvokeType);
env.FlowEdit.SetConnectPriorityInvoke(Start.NodeGuid, End.NodeGuid, InvokeType);
}
}