diff --git a/include/level.hpp b/include/level.hpp index ac2234a..c158c83 100644 --- a/include/level.hpp +++ b/include/level.hpp @@ -16,6 +16,7 @@ class Level : public View { private: std::string name; + int total_time; sf::Sprite background; std::vector objects; @@ -46,6 +47,21 @@ public: */ std::string getName(); + /** + * Modifie le nom du niveau + */ + void setName(std::string set_name); + + /** + * Récupère le temps total alloué pour terminer le niveau + */ + int getTotalTime(); + + /** + * Modifie le temps total du niveau + */ + void setTotalTime(int set_total_time); + /** * Récupère la liste des objets */ @@ -54,7 +70,7 @@ public: /** * Récupère la zone du niveau */ - const std::vector>& getZone(); + std::vector>& getZone(); }; #endif diff --git a/levels/level1.dat b/levels/level1.dat index c306f87..1b52150 100644 Binary files a/levels/level1.dat and b/levels/level1.dat differ diff --git a/src/level.cpp b/src/level.cpp index b4547cc..9cdc64f 100644 --- a/src/level.cpp +++ b/src/level.cpp @@ -51,6 +51,10 @@ void Level::load(std::ifstream& file) { // lecture du nom du niveau std::getline(file, name, '\0'); + // lecture du temps total du niveau + file.read(reinterpret_cast(&total_time), sizeof(total_time)); + total_time = ntohl(total_time); + // lecture de la zone de jeu char control_points; file.read(&control_points, 1); @@ -129,10 +133,22 @@ std::string Level::getName() { return name; } +void Level::setName(std::string set_name) { + name = set_name; +} + +int Level::getTotalTime() { + return total_time; +} + +void Level::setTotalTime(int set_total_time) { + total_time = set_total_time; +} + std::vector& Level::getObjects() { return objects; } -const std::vector>& Level::getZone() { +std::vector>& Level::getZone() { return zone; }