]> git.localhorst.tv Git - l2e.git/blobdiff - src/graphics/ComplexAnimation.h
removed useless comments
[l2e.git] / src / graphics / ComplexAnimation.h
index 2eeea943b6103740c3114f71b835b14c11953408..92562c5469ebdb83850d9af9a3aa84d1e9801aaa 100644 (file)
@@ -1,55 +1,47 @@
-/*
- * ComplexAnimation.h
- *
- *  Created on: Aug 12, 2012
- *      Author: holy
- */
-
 #ifndef GRAPHICS_COMPLEXANIMATION_H_
 #define GRAPHICS_COMPLEXANIMATION_H_
 
 #include "Animation.h"
 
-#include <vector>
-
 namespace graphics {
 
 class ComplexAnimation
 : public Animation {
 
 public:
-       ComplexAnimation() { }
-       ComplexAnimation(const Sprite *sprite, int frameTime, bool repeat = false)
-       : Animation(sprite, frameTime, repeat) { }
+       static const int TYPE_ID = 402;
 
 public:
-       void AddFrame(int col, int row, const geometry::Vector<int> &disposition = geometry::Vector<int>()) {
-               frames.push_back(FrameProp(col, row, disposition));
-       }
-       void AddFrames(int col, int row, const geometry::Vector<int> &disposition, int amount) {
-               for (int i(0); i < amount; ++i) {
-                       AddFrame(col, row, disposition);
-               }
-       }
-
-protected:
-       virtual int NumFrames() const { return frames.size(); };
-       virtual int Col(int frame) const { return frames[frame].col; }
-       virtual int Row(int frame) const { return frames[frame].row; }
-       virtual geometry::Vector<int> Offset(int frame) const { return frames[frame].disposition; }
+       ComplexAnimation();
+       ComplexAnimation(const Sprite *sprite, int frameTime, bool repeat = false);
 
-private:
+public:
        struct FrameProp {
-               FrameProp(int col, int row, const geometry::Vector<int> &disposition)
+               static const int TYPE_ID = 403;
+               FrameProp() : col(0), row(0) { }
+               FrameProp(int col, int row, const math::Vector<int> &disposition)
                : col(col), row(row), disposition(disposition) {}
                int col;
                int row;
-               geometry::Vector<int> disposition;
+               math::Vector<int> disposition;
        };
-       std::vector<FrameProp> frames;
+       void SetFrames(const FrameProp *f, int num) { frames = f; numFrames = num; }
+
+       static void CreateTypeDescription();
+       static void Construct(void *);
+
+protected:
+       virtual int NumFrames() const;
+       virtual int Col(int frame) const;
+       virtual int Row(int frame) const;
+       virtual math::Vector<int> Offset(int frame) const;
+
+private:
+       const FrameProp *frames;
+       int numFrames;
 
 };
 
 }
 
-#endif /* GRAPHICS_COMPLEXANIMATION_H_ */
+#endif