X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgameview%2Frenderer.cpp;h=ef8f99567c03e221adddfec167803b3719955e74;hb=b802639e9693fba48be685868772c20c8befdfac;hp=068aa09221a6647021e51df8c3cfb5f6e095c72b;hpb=76d859d1429782901799c9886f833cd331b670ce;p=libs%2Fgame.git diff --git a/source/gameview/renderer.cpp b/source/gameview/renderer.cpp index 068aa09..ef8f995 100644 --- a/source/gameview/renderer.cpp +++ b/source/gameview/renderer.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include "meshrenderer.h" using namespace std; @@ -15,13 +16,15 @@ Renderer::Renderer(Game::Stage &s, GL::View &v): view(v), event_observer(s.get_event_bus()) { + declare_dependency(READ_FRESH); + declare_dependency(READ_FRESH); + declare_dependency(WRITE); + event_observer.observe([this](auto &e){ entity_created(e); }); event_observer.observe([this](auto &e){ entity_destroyed(e); }); event_observer.observe([this](auto &e){ camera_changed(e); }); - stage.iterate_objects([this](auto &e){ entity_created({ Game::Handle::from_object(&e) }); }); - if(Game::Handle ac = stage.get_active_camera()) - camera_changed({ ac }); + stage.synthesize_initial_events(event_observer); view.set_camera(&gl_camera); }