}
}
-Simulation::Simulation(Body &r, app::Assets &assets)
-: root(r)
-, assets(assets)
+Simulation::Simulation(app::Assets &assets)
+: assets(assets)
, bodies()
, planets()
, suns()
, dead()
, time(0.0)
, records(7) {
- AddBody(r);
records[0].name = "Age";
records[0].type = Record::TIME;
records[1].name = "Mass";
suns.insert(&s);
}
+Planet &Simulation::PlanetByName(const std::string &name) {
+ for (auto &p : planets) {
+ if (p->Name() == name) {
+ return *p;
+ }
+ }
+ throw std::runtime_error("planet named \"" + name + "\" not found");
+}
+
void Simulation::SetAlive(creature::Creature *c) {
alive.push_back(c);
}