public static async Task <INRule> ParseAsync(JObject ruleObject) { var conditionsRaw = JArray.Parse(ruleObject["Conditions"].ToString()); var actionsRaw = JArray.Parse(ruleObject["Actions"].ToString()); var conditions = conditionsRaw.Select(condition => NCondition.Parse(condition.ToString())); var actions = actionsRaw.Select(action => NAction.Parse(action.ToString())); return(new NRule(conditions, actions)); }
public async Task ParseCleanCondition() { var conditionPath = Path.Combine(MockDataDirectory, "NCondition_Clean.json"); var conditionRaw = File.ReadAllText(conditionPath); var condition = await NCondition.ParseAsync(conditionRaw); Assert.IsNotNull(condition); Assert.IsNotNull(condition.Operator); Assert.IsNotNull(condition.Reference); Assert.IsNotNull(condition.Subject); }
private NTemplate SelectCondition() { _initialized = true; NCondition elseNode = default; foreach (NCondition node in multiOutput.outputNode) { if (node.elseConditional) { elseNode = node; continue; } if (node.IsConditionCompleted()) { return(node); } } return(elseNode); throw new System.Exception("Paradox Engine: The Conditional Branch State (InstanceID: " + this.GetInstanceID() + "of the graph " + parentGraph.graphName + " don't have a condition for this situation."); }
private void OnEnable() => _node = (NCondition)target;