X-Git-Url: http://git.tdb.fi/?p=libs%2Fdemoscene.git;a=blobdiff_plain;f=source%2Fdemo.h;h=e9d369bf9b337b202480b8ef1cf128a47127fb80;hp=77eb671601fc52f79386b341acf06777d7e1c07a;hb=34051ffdca091ad3971c1382c71c5fc58b7ade0f;hpb=7857d6ec5961f94bc926b1a969f2c841713f9650 diff --git a/source/demo.h b/source/demo.h index 77eb671..e9d369b 100644 --- a/source/demo.h +++ b/source/demo.h @@ -8,11 +8,27 @@ #include #include #include +#include #include +#include "action.h" #include "sequencer.h" class Demo { +private: + class AnimationAction: public Action + { + private: + Msp::GL::AnimationPlayer &player; + + public: + AnimationAction(Msp::GL::AnimationPlayer &); + + virtual void validate() const { } + + virtual void tick(float, float); + }; + public: sigc::signal signal_finished; @@ -20,6 +36,8 @@ protected: Sequencer sequencer; Msp::DataFile::Collection &resources; Msp::GL::WindowView view; + Msp::GL::AnimationPlayer anim_player; + AnimationAction anim_action; Msp::AL::Source *music_source; Msp::AL::Streamer *streamer; Msp::IO::Seekable *music_io; @@ -34,6 +52,9 @@ protected: public: virtual ~Demo(); + Msp::DataFile::Collection &get_resources() const { return resources; } + Msp::GL::AnimationPlayer &get_animation_player() { return anim_player; } + template T &get_thing(const std::string &);