// // Created by jovian on 17/08/17. // #ifndef SPACEEXPANSION_UNIVERSE_H #define SPACEEXPANSION_UNIVERSE_H #include #include #include "Planet.h" #include "StarShip.h" #include "../Rules/PlanetStep.h" class Universe { // Methods public: Universe(); ~Universe(); void collectVisuals(std::vector &scope); void update(); // Call update for each ship and each planet void routeShips(); // Move ships between space and planets void createRandomUniverse(); void addRule(PlanetStep *rule); const PlanetDef getNearestPlanetInfo(b2Vec2 from); // Attributes private: std::vector m_planets; std::vector m_ships; std::set m_travellingShips; std::vector m_rules; }; #endif //SPACEEXPANSION_UNIVERSE_H