using System;
using System.Collections.Generic;
using System.Threading;
using TeamAAS.FlowEditor.Execution;
using TeamAAS.FlowEditor.Models;
using TeamAAS.FlowEditor.Plugins;
using Plugins.Standard.Models;
namespace Plugins.Standard
{
///
/// 结束插件 - 用于流程中Break跳出或结束流程
///
[Plugin("结束", PluginCategory.逻辑判断, typeof(EndPluginModel),
"StopCircleOutline",NodeShape = NodeCategory.End, Description="结束节点,用于流程中Break跳出或结束流程")]
[Serializable]
public class EndPlugin : BasePlugin
{
public override List DeclareOutputs() => new List
{
new OutputField("结束类型", typeof(string)),
new OutputField("操作", typeof(string))
};
public override NodeRunStatus PluginRun(CancellationToken token, out Dictionary results)
{
results = new Dictionary();
string op = Model.EndType == EndActionType.Break ? "跳出当前循环" : "结束整个流程";
results["结束类型"] = Model.EndType.ToString();
results["操作"] = op;
Log(2, $"结束节点触发: {op}");
return NodeRunStatus.Success;
}
}
}