#include "action.h"
#include "sequencer.h"
+namespace Msp {
+namespace DemoScene {
+
+class Stage;
+
class Demo
{
private:
};
public:
+ typedef std::map<std::string, Msp::Variant> ThingMap;
+
sigc::signal<void> signal_finished;
protected:
Msp::Time::TimeStamp last_tick;
Msp::Time::TimeStamp next_frame;
- std::map<std::string, Msp::Variant> things;
+ ThingMap things;
Demo(Msp::Graphics::Window &, Msp::Graphics::GLContext &, Msp::DataFile::Collection &);
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<typename T>
T &get_thing(const std::string &);
return *get_item(things, name).value<T *>();
}
+} // namespace DemoScene
+} // namespace Msp
+
#endif