X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=examples%2Fbassteroids%2Fsource%2Fgamecontroller.cpp;h=d4b232db4d897ff28d698064b41bc97b04d09d2b;hb=HEAD;hp=b5640330310ad111f01f70d4b7aafba260a305fe;hpb=9ce882cbb6bb7628d7c9883c43491a75c10625d7;p=libs%2Fgame.git diff --git a/examples/bassteroids/source/gamecontroller.cpp b/examples/bassteroids/source/gamecontroller.cpp index b564033..d4b232d 100644 --- a/examples/bassteroids/source/gamecontroller.cpp +++ b/examples/bassteroids/source/gamecontroller.cpp @@ -8,8 +8,7 @@ using namespace Msp; GameController::GameController(Game::Stage &s): System(s), - asteroid_setup{ .physical={ .body={ .mass=200, .moment_of_inertia=2160 }, .collider={ .type=ColliderType::CIRCLE, .radius=3.0f } }, - .mesh={ .object_name="Asteroid 1.object" }} + asteroid_setup(stage.get_resources().get("asteroid1.roid.setup")) { } void GameController::tick(Time::TimeDelta) @@ -37,3 +36,9 @@ void GameController::tick(Time::TimeDelta) throw logic_error("Unimplemented state"); } } + +void GameController::deferred_tick() +{ + System::deferred_tick(); + erase_if(asteroids, [](Game::Handle a){ return !a->get_hitpoints()->is_alive(); }); +}