1 #ifndef BLOBS_WORLD_SIMULATION_HPP_
2 #define BLOBS_WORLD_SIMULATION_HPP_
21 explicit Simulation(Body &root, const Set<Resource> &, const Set<TileType> &);
24 Simulation(const Simulation &) = delete;
25 Simulation &operator =(const Simulation &) = delete;
27 Simulation(Simulation &&) = delete;
28 Simulation &operator =(Simulation &&) = delete;
34 void AddPlanet(Planet &);
37 Body &Root() noexcept { return root; }
38 const Body &Root() const noexcept { return root; }
40 const Set<Resource> &Resources() const noexcept { return resources; }
41 const Set<TileType> &TileTypes() const noexcept { return tile_types; }
43 const std::set<Body *> &Bodies() const noexcept { return bodies; }
44 const std::set<Planet *> &Planets() const noexcept { return planets; }
45 const std::set<Sun *> &Suns() const noexcept { return suns; }
47 double Time() const noexcept { return time; }
51 const Set<Resource> &resources;
52 const Set<TileType> &tile_types;
53 std::set<Body *> bodies;
54 std::set<Planet *> planets;