public void Invoke(EventModel ev, object data) { bool isSuccess = ev.Condition.IsPass(data); if (isSuccess) { Task.Factory.StartNew(() => { taskID++; //储存事件临时对象数据,事件变量 EventTemporaryObject.Add(taskID, ev, data); //执行actions ActionTask.Invoke(taskID, ev.Actions); }); //响应触发事件 OnEventTrigger?.Invoke(ev, true); //记录event触发 EventLoger.Add(new EventLogModel() { EventType = ev.EventType, IsSuccess = isSuccess, }); } }
public static string ConvertToString(int taskID, string parameter) { if (parameter == null) { return(string.Empty); } //事件变量 parameter = EventTemporaryObject.ConvertToContent(taskID, parameter); //action result value parameter = ActionTaskResulter.GetActionResultsString(taskID, parameter); //全局变量 parameter = GlobalVariable.ConvertToContent(parameter); return(parameter); }
public static string ConvertToString(int taskID, string parameter, bool isBreak = false) { if (parameter == null) { return(string.Empty); } //事件变量 parameter = EventTemporaryObject.ConvertToContent(taskID, parameter); //action result value parameter = ActionTaskResulter.GetActionResultsString(taskID, parameter); //全局变量 parameter = GlobalVariable.ConvertToContent(parameter); if (IsHasVariable(parameter) && !isBreak) { parameter = ConvertToString(taskID, parameter, true); } return(parameter); }