EndPlugin.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Threading;
  4. using TeamAAS.FlowEditor.Execution;
  5. using TeamAAS.FlowEditor.Models;
  6. using TeamAAS.FlowEditor.Plugins;
  7. using Plugins.Standard.Models;
  8. namespace Plugins.Standard
  9. {
  10. /// <summary>
  11. /// 结束插件 - 用于流程中Break跳出或结束流程
  12. /// </summary>
  13. [Plugin("结束", PluginCategory.逻辑判断, typeof(EndPluginModel),
  14. "StopCircleOutline",NodeShape = NodeCategory.End, Description="结束节点,用于流程中Break跳出或结束流程")]
  15. [Serializable]
  16. public class EndPlugin : BasePlugin<EndPluginModel>
  17. {
  18. public override List<OutputField> DeclareOutputs() => new List<OutputField>
  19. {
  20. new OutputField("结束类型", typeof(string)),
  21. new OutputField("操作", typeof(string))
  22. };
  23. public override NodeRunStatus PluginRun(CancellationToken token, out Dictionary<string, object> results)
  24. {
  25. results = new Dictionary<string, object>();
  26. string op = Model.EndType == EndActionType.Break ? "跳出当前循环" : "结束整个流程";
  27. results["结束类型"] = Model.EndType.ToString();
  28. results["操作"] = op;
  29. Log(2, $"结束节点触发: {op}");
  30. return NodeRunStatus.Success;
  31. }
  32. }
  33. }