diff --git a/src/modelec_gui/src/pages/map_page.cpp b/src/modelec_gui/src/pages/map_page.cpp index 0f74aa6..7c04474 100644 --- a/src/modelec_gui/src/pages/map_page.cpp +++ b/src/modelec_gui/src/pages/map_page.cpp @@ -171,6 +171,9 @@ namespace ModelecGUI { isGameStarted_ = false; lastWapointWasEnd = true; + score_ = 0; + score_label_->setText(QString("Score: %1").arg(score_)); + timer_label_->setText("00"); qpoints.clear(); diff --git a/src/modelec_strat/data/pami_zone.xml b/src/modelec_strat/data/pami_zone.xml index 2ac8913..56e35eb 100644 --- a/src/modelec_strat/data/pami_zone.xml +++ b/src/modelec_strat/data/pami_zone.xml @@ -1,3 +1,8 @@ - + + + + + + \ No newline at end of file diff --git a/src/modelec_strat/include/modelec_strat/pami_manager.hpp b/src/modelec_strat/include/modelec_strat/pami_manager.hpp index 7a69109..ae9bb69 100644 --- a/src/modelec_strat/include/modelec_strat/pami_manager.hpp +++ b/src/modelec_strat/include/modelec_strat/pami_manager.hpp @@ -22,7 +22,7 @@ namespace Modelec { bool ReadFromXML(const std::string& filename); protected: - Obstacle zone; + std::vector zones_; int time_to_put_zone_ = 0; int time_to_remove_top_pot_ = 0; diff --git a/src/modelec_strat/src/pami_manager.cpp b/src/modelec_strat/src/pami_manager.cpp index f593f26..1fdef95 100644 --- a/src/modelec_strat/src/pami_manager.cpp +++ b/src/modelec_strat/src/pami_manager.cpp @@ -56,11 +56,14 @@ namespace Modelec second_goal - now, [this]() { - add_obs_pub_->publish(zone.toMsg()); + for (const auto & obs : zones_) + { + add_obs_pub_->publish(obs.toMsg()); - std_msgs::msg::Int64 msg; - msg.data = score_to_add_; - score_pub_->publish(msg); + std_msgs::msg::Int64 msg; + msg.data = score_to_add_; + score_pub_->publish(msg); + } timer_add_->cancel(); }); @@ -98,16 +101,13 @@ namespace Modelec return false; } - tinyxml2::XMLElement* elem = root->FirstChildElement("middle"); - - if (!elem) + for (tinyxml2::XMLElement* elem = root->FirstChildElement("zone"); + elem; + elem = elem->NextSiblingElement("zone")) { - RCLCPP_ERROR(get_logger(), "No element in file"); - return false; + zones_.push_back(Obstacle(elem)); } - zone = Obstacle(elem); - RCLCPP_INFO(get_logger(), "Loaded zone obstacles from XML"); return true; }