/// <summary>
 /// Visits and handles the effect.
 /// </summary>
 /// <param name="effect">Effect.</param>
 public void Visit(PredicateEffect effect)
 {
     if (!IsNegated)
     {
         ResultAtoms.Add(GroundingManager.GroundAtom(effect.PredicateAtom, Substitution));
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Visits and handles the effect.
 /// </summary>
 /// <param name="effect">Effect.</param>
 public void Visit(PredicateEffect effect)
 {
     if (IsNegated)
     {
         NegativePredicateEffects.Add(effect.PredicateAtom);
     }
     else
     {
         PositivePredicateEffects.Add(effect.PredicateAtom);
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Visits and handles the effect.
        /// </summary>
        /// <param name="effect">Effect.</param>
        public void Visit(NotEffect effect)
        {
            if (EffectsApplierMode == EffectsApplierMode.DELETE_RELAXATION)
            {
                return;
            }

            PredicateEffect argumentEffect = effect.Argument as PredicateEffect;

            if (argumentEffect != null)
            {
                IAtom groundedPredicateAtom = GroundingManager.GroundAtomDeep(argumentEffect.PredicateAtom, Substitution, State);
                State.RemovePredicate(groundedPredicateAtom);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Visits and handles the effect.
        /// </summary>
        /// <param name="effect">Effect.</param>
        public void Visit(PredicateEffect effect)
        {
            IAtom groundedPredicateAtom = GroundingManager.GroundAtomDeep(effect.PredicateAtom, Substitution, State);

            State.AddPredicate(groundedPredicateAtom);
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Visits and handles the effect.
 /// </summary>
 /// <param name="effect">Effect.</param>
 public void Visit(PredicateEffect effect)
 {
     PredicatesInfluencedByOperators.Add(effect.PredicateAtom.GetNameId());
 }