Example #1
0
        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));
        }
Example #2
0
        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;