X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=examples%2Fbassteroids%2Fsource%2Fphysics.cpp;h=3c435026e925b057b9eaf7ee3987bd08793153c5;hb=4014851ac2ed8e86b5a781dcc3056088d40465a1;hp=67cdf6fe596bbf29199b7af96174c92eecaefc92;hpb=f11589229323a6919a26f07b2f74bb9ffdd94fb5;p=libs%2Fgame.git diff --git a/examples/bassteroids/source/physics.cpp b/examples/bassteroids/source/physics.cpp index 67cdf6f..3c43502 100644 --- a/examples/bassteroids/source/physics.cpp +++ b/examples/bassteroids/source/physics.cpp @@ -8,6 +8,7 @@ using namespace Msp; Physics::Physics(Game::Stage &s): System(s), + event_source(stage.get_event_bus()), observer(stage.get_event_bus()) { observer.observe([this](auto &e){ entity_added(e); }); @@ -59,6 +60,9 @@ void Physics::tick(Time::TimeDelta dt) copy_out(entities[i]); for(unsigned i=fixture_count; i(entities[i]); + + for(const Collision &c: collisions) + event_source.emit(entities[c.body1].entity->get_collider(), entities[c.body2].entity->get_collider()); } template