コード例 #1
0
ファイル: HSPOperator.cs プロジェクト: carkus/UnityPlanner
    private List <HSPLiteral> ParseEffect(JsonNode node)
    {
        List <HSPLiteral> items = new List <HSPLiteral>();

        foreach (var type in node.Members)
        {
            foreach (var obj in type.Value.Members)
            {
                List <HSPTerm> args      = DeriveArgs(obj.Value.Members);
                HSPPredicate   predicate = new HSPPredicate(obj.Key, args);
                HSPLiteral     item;

                if (type.Key == "positive")
                {
                    item = new HSPLiteral(predicate, true);
                    items.Add(item);
                }
                else if (type.Key == "negative")
                {
                    item = new HSPLiteral(predicate, false);
                    items.Add(item);
                }
            }
        }

        return(items);
    }
コード例 #2
0
ファイル: HSPOperator.cs プロジェクト: carkus/UnityPlanner
    private List <HSPLiteral> ParsePrecondition(JsonNode node)
    {
        List <HSPLiteral> items = new List <HSPLiteral>();

        foreach (var obj in node.Members)
        {
            List <HSPTerm> args = DeriveArgs(obj.Value.Members);

            HSPPredicate predicate = new HSPPredicate(obj.Key, args);
            if (obj.Key == "*not")
            {
                HSPLiteral item = new HSPLiteral(predicate, false);
                items.Add(item);
            }
            else
            {
                HSPLiteral item = new HSPLiteral(predicate, true);
                items.Add(item);
            }
        }

        return(items);
    }