// // Created by benmo on 2/24/2020. // #ifndef SFML_TEMPLATE_SYSTEM_H #define SFML_TEMPLATE_SYSTEM_H #include #include #include #include "Planet.h" #include "Task.h" class System { private: std::string name; std::string govName; sf::Vector2f mapPos; bool visited = false; bool landable = false; int rep = 5; int pop = 0; int stren = 0; std::vector planets; std::vector tasks; std::vector exits; public: explicit System(std::string _name); sf::Sprite* getSystemCenter(); void addPlanet(Planet *p); void setRelativeMapPos(const sf::Vector2f &pos); sf::Vector2f getRelativeMapPos(); void makeVisited(); bool isVisited() const; std::string getName(); void setGovName(std::string gov); std::string getGovName(); void setSysRep(int _rep); int getSysRep() const; void setPop(int _pop); int getPop() const; void setStren(int _stren); int getStren() const; bool isLandable() const; const std::vector &getPlanets() const; void setPlanets(const std::vector &planetList); std::vector &getTasks(); void addTask(Task* task); const std::vector &getExits() const; void addExit(int exit); }; #endif //SFML_TEMPLATE_SYSTEM_H