-EndNode::EndNode(const literals& goal){
- preconditionsVector goalState;
- pair<string,literals> goalPair;
- goalPair.first = "";
- goalPair.second = goal;
- goalState.push_back(goalPair);
- Node(Action("finish",goalState,effectsMap()));
+EndNode::EndNode(const Literals& goal){
+ Preconditions goalState;
+ for(Literals::const_iterator g = goal.begin(); g != goal.end(); ++g)
+ goalState[*g] = false;
+ _action = new Action("finish",goalState,"",EffectsMap());
+ _preconditions = _action->preconditions();