X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fdemo.h;h=35be62454e0c70100b13f392f560ef8784446a07;hb=e2032cbdb8d2ae52e42d400c5cc90ddad844f665;hp=e9d369bf9b337b202480b8ef1cf128a47127fb80;hpb=34051ffdca091ad3971c1382c71c5fc58b7ade0f;p=libs%2Fdemoscene.git diff --git a/source/demo.h b/source/demo.h index e9d369b..35be624 100644 --- a/source/demo.h +++ b/source/demo.h @@ -13,6 +13,8 @@ #include "action.h" #include "sequencer.h" +class Stage; + class Demo { private: @@ -30,6 +32,8 @@ private: }; public: + typedef std::map ThingMap; + sigc::signal signal_finished; protected: @@ -46,7 +50,7 @@ protected: Msp::Time::TimeStamp last_tick; Msp::Time::TimeStamp next_frame; - std::map things; + ThingMap things; Demo(Msp::Graphics::Window &, Msp::Graphics::GLContext &, Msp::DataFile::Collection &); public: @@ -55,6 +59,9 @@ public: Msp::DataFile::Collection &get_resources() const { return resources; } Msp::GL::AnimationPlayer &get_animation_player() { return anim_player; } +protected: + void add_stage(const std::string &, Stage &); +public: template T &get_thing(const std::string &);