-void Node::execute(const literals& effects){
- for (literals::const_iterator effect = effects.begin(); effect != effects.end(); ++effect){
- _preconditions.erase(find(_preconditions.begin(),_preconditions.end(), *effect));
+bool Node::satisfyCondition(std::string effect){
+ _preconditions.erase(_preconditions.find(effect));
+ return _preconditions.size() == 0 && !_executed;
+}
+
+bool Node::satisfyConditions(const Literals& effects){
+ for (Literals::const_iterator effect = effects.begin(); effect != effects.end(); ++effect){
+ cerr << "Satisfied effect: " << *effect << endl;
+ _preconditions.erase(_preconditions.find(*effect));