diff options
Diffstat (limited to 'src/libjin/Graphics/animation/je_animation.h')
-rw-r--r-- | src/libjin/Graphics/animation/je_animation.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/libjin/Graphics/animation/je_animation.h b/src/libjin/Graphics/animation/je_animation.h index f330a0c..b3bb9fb 100644 --- a/src/libjin/Graphics/animation/je_animation.h +++ b/src/libjin/Graphics/animation/je_animation.h @@ -1,6 +1,12 @@ #ifndef __JE_ANIMATION_H #define __JE_ANIMATION_H +#include <map> +#include <vector> +#include <string> + +#include "je_clip.h" + namespace JinEngine { namespace Graphics @@ -11,6 +17,29 @@ namespace JinEngine /// class Animation { + public: + void addClip(const std::string& key, Clip* clip); + bool hasKey(const std::string& key); + + void play(); + void switchClipByKey(const std::string& key); + void switchClipByName(const std::string& name); + void switchClip(const Clip* clip); + + /// + /// Control clips. + /// + void stopClip(); + void pauseClip(); + void rewindClip(); + void startClip(); + + private: + /// + /// Map a key to clips. + /// + std::map<std::string, Clip*> mClips; + Clip* mCurrentClip; }; |