コード例 #1
0
        /// <summary>
        /// Handles the AST node visit.
        /// </summary>
        /// <param name="astNode">AST node.</param>
        public override void Visit(DomainDurActionAstNode astNode)
        {
            DurativeAction newDurativeAction = new DurativeAction
            {
                Name       = astNode.Name,
                Parameters = MasterExporter.ToParameters(astNode.Parameters),
                Durations  = MasterExporter.ToDurativeConstraints(astNode.DurationConstraint),
                Conditions = MasterExporter.ToDurativeConditions(astNode.Condition),
                Effects    = MasterExporter.ToDurativeEffects(astNode.Effect)
            };

            DomainData.DurativeActions.Add(newDurativeAction);
        }
コード例 #2
0
 /// <summary>
 /// Handles the AST node visit.
 /// </summary>
 /// <param name="astNode">AST node.</param>
 public override void Visit(AtSimpleDurationConstraintAstNode astNode)
 {
     ConstraintsData.Add(new AtDurativeConstraint(astNode.TimeSpecifier, MasterExporter.ToDurativeConstraints(astNode.DurationConstraint)[0]));
 }
コード例 #3
0
 /// <summary>
 /// Handles the AST node visit.
 /// </summary>
 /// <param name="astNode">AST node.</param>
 public override void Visit(AndSimpleDurationConstraintsAstNode astNode)
 {
     astNode.Arguments.ForEach(arg => ConstraintsData.AddRange(MasterExporter.ToDurativeConstraints(arg)));
 }