Files
serein-flow/WorkBench/Node/ViewModel/ConditionNodeControlViewModel.cs
fengjiayi 49603bb58f 重新优化了NodeModel类;从硬编码类型改为“注册/获取”的方式,为下一步解耦Workbench与节点UI做准备。
新增了“全局数据节点”;保存项目文件时,不同节点可以使用自定义数据保存自身独特的数据,不再借用“方法参数”。
重新设计了运行时的环境输出;增量式生成器现在可以选择在属性变更的前后时间点插入自定义代码;重写了加载项目、保存项目的方法。
2024-12-12 20:31:50 +08:00

55 lines
1.4 KiB
C#

using Serein.NodeFlow.Model;
using Serein.Workbench.Node.View;
namespace Serein.Workbench.Node.ViewModel
{
/// <summary>
/// 条件节点
/// </summary>
public class ConditionNodeControlViewModel : NodeControlViewModelBase
{
public new SingleConditionNode NodeModel { get; }
/// <summary>
/// 是否为自定义参数
/// </summary>
public bool IsCustomData
{
get => NodeModel.IsExplicitData;
set { NodeModel.IsExplicitData = value; OnPropertyChanged(); }
}
/// <summary>
/// 自定义参数值
/// </summary>
public string? CustomData
{
get => NodeModel.ExplicitData;
set { NodeModel.ExplicitData = value ; OnPropertyChanged(); }
}
/// <summary>
/// 表达式
/// </summary>
public string Expression
{
get => NodeModel.Expression;
set { NodeModel.Expression = value; OnPropertyChanged(); }
}
/// <summary>
/// 条件节点
/// </summary>
/// <param name="node"></param>
public ConditionNodeControlViewModel(SingleConditionNode node) : base(node)
{
this.NodeModel = node;
if(node is null)
{
IsCustomData = false;
CustomData = "";
Expression = "PASS";
}
}
}
}