X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgame%2Fdirector.h;h=775d7d2915941a2edb8247a47cddaaceca6277b1;hb=e3b8bcdcb5abfdc4cfaf0af0f9633ac15d1f3b69;hp=5f33aef0a0dcbe48fe744832a17fe54556a3ad84;hpb=aec84d90bbbbd7dce66cc90ed545322802b959f6;p=libs%2Fgame.git diff --git a/source/game/director.h b/source/game/director.h index 5f33aef..775d7d2 100644 --- a/source/game/director.h +++ b/source/game/director.h @@ -2,12 +2,16 @@ #define MSP_GAME_DIRECTOR_H_ #include +#include #include +#include #include #include +#include "accessguard.h" #include "eventbus.h" #include "events.h" #include "eventsource.h" +#include "reflection.h" namespace Msp::Game { @@ -19,6 +23,9 @@ public: using EventSource = Game::EventSource; private: + std::optional access_guard; + Reflection::Reflector reflector; + DataFile::Collection &resources; EventBus event_bus; EventSource event_source; std::vector> stages; @@ -30,8 +37,10 @@ private: unsigned max_backlog_steps = 600; public: - Director(); + Director(DataFile::Collection &); + ~Director(); + DataFile::Collection &get_resources() const { return resources; } EventBus &get_event_bus() { return event_bus; } EventSource &get_event_source() { return event_source; } const std::vector> &get_stages() const { return stages; }