using Serein.Library; using Serein.Library.Api; using Serein.Library.Utils; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Serein.NodeFlow { /// /// 脚本代码中关于流程运行的API /// public class ScriptFlowApi : IScriptFlowApi { /// /// 流程环境 /// public IFlowEnvironment Env { get; private set; } /// /// 对应的节点 /// public IFlowNode NodeModel { get; private set; } /// /// 创建流程脚本接口 /// /// 运行环境 /// 节点 public ScriptFlowApi(IFlowEnvironment environment, IFlowNode nodeModel) { Env = environment; NodeModel = nodeModel; } public Task CallNode(string nodeGuid) { throw new NotImplementedException(); } //public object? GetArgData(IDynamicContext context, int index) //{ // var _paramsKey = $"{context?.Guid}_{NodeModel.Guid}_Params"; // var obj = context?.GetFlowData(_paramsKey); // if (obj is object[] @params && index < @params.Length) // { // return @params[index]; // } // return null; //} //public object? GetFlowData(IDynamicContext context) //{ // return context?.GetFlowData(NodeModel.Guid); //} public object? GetGlobalData(string keyName) { return SereinEnv.GetFlowGlobalData(keyName); } } }