/// <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)); } }
/// <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); } }
/// <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); } }
/// <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); }
/// <summary> /// Visits and handles the effect. /// </summary> /// <param name="effect">Effect.</param> public void Visit(PredicateEffect effect) { PredicatesInfluencedByOperators.Add(effect.PredicateAtom.GetNameId()); }