]> git.tdb.fi Git - libs/demoscene.git/blobdiff - source/action.h
Framework for loading sequences from files
[libs/demoscene.git] / source / action.h
index 980b038a27b4469cd74ff49b5df0153ace8b70b5..f43d4e1b2110f63138a9bd7ddc9fee46035a297b 100644 (file)
@@ -1,13 +1,28 @@
 #ifndef MSP_DEMOSCENE_ACTION_H_
 #define MSP_DEMOSCENE_ACTION_H_
 
+#include <msp/datafile/objectloader.h>
+
+class Demo;
+
 class Action
 {
+public:
+       class Loader: public Msp::DataFile::ObjectLoader<Action>
+       {
+       protected:
+               Demo &demo;
+
+               Loader(Action &, Demo &);
+       };
+
 protected:
        Action() { }
 public:
        virtual ~Action() { }
 
+       virtual void validate() const = 0;
+
        virtual void start(float, float) { }
        virtual void beat(int) { }
        virtual void tick(float, float) { }