コード例 #1
0
        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,
                });
            }
        }
コード例 #2
0
 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);
 }
コード例 #3
0
 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);
 }