X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgame%2Fdirector.h;h=de19185849e121e50e7c112ce59aa68a50e46fa7;hb=91e5d4366b857f2441abe7c9a61b6154bd23ea3f;hp=9d221b0678345a8def4c06b5936c3bee95ebe865;hpb=f90804b7a1042a1266cbe3075631e4fcc18b9a8a;p=libs%2Fgame.git diff --git a/source/game/director.h b/source/game/director.h index 9d221b0..de19185 100644 --- a/source/game/director.h +++ b/source/game/director.h @@ -3,6 +3,7 @@ #include #include +#include #include #include #include "eventbus.h" @@ -19,6 +20,7 @@ public: using EventSource = Game::EventSource; private: + DataFile::Collection &resources; EventBus event_bus; EventSource event_source; std::vector> stages; @@ -30,9 +32,17 @@ 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; } + Stage &create_stage(); void activate_stage(Stage &); + Stage *get_active_stage() const { return active_stage; } void tick(); };