GameController::GameController(Game::Stage &s):
System(s),
- asteroid_setup{ .physical={ .body={ .mass=200 }, .collider={ .type=ColliderType::CIRCLE, .radius=3.0f } },
- .mesh={ .object_name="Asteroid 1.object" }}
+ asteroid_setup(stage.get_resources().get<AsteroidSetup>("asteroid1.roid.setup"))
{ }
void GameController::tick(Time::TimeDelta)
throw logic_error("Unimplemented state");
}
}
+
+void GameController::deferred_tick()
+{
+ System::deferred_tick();
+ erase_if(asteroids, [](Game::Handle<Asteroid> a){ return !a->get_hitpoints()->is_alive(); });
+}