1/***********************************************************************
2    AnimationManager
3*************************************************************************/
4
5class AnimationManager
6{
7    static AnimationManager& getSingleton();
8
9    tolua_throws|CEGUI::AlreadyExistsException,nil| void addInterpolator(Interpolator* interpolator);
10    tolua_throws|CEGUI::UnknownObjectException,nil| void removeInterpolator(Interpolator* interpolator);
11    tolua_throws|CEGUI::UnknownObjectException,nil| Interpolator* getInterpolator(utf8string name) const;
12
13    tolua_throws|CEGUI::UnknownObjectException,nil| Animation* createAnimation(utf8string name);
14    tolua_throws|CEGUI::UnknownObjectException,nil| void destroyAnimation(Animation* animation);
15    tolua_throws|CEGUI::UnknownObjectException,nil| void destroyAnimation(utf8string name);
16    tolua_throws|CEGUI::UnknownObjectException,nil| Animation* getAnimation(utf8string name) const;
17    tolua_throws|CEGUI::InvalidRequestException,nil| Animation* getAnimationAtIdx(unsigned int index) const;
18
19    unsigned int getNumAnimations() const;
20
21    tolua_throws|CEGUI::UnknownObjectException,nil| AnimationInstance* instantiateAnimation(Animation* animation);
22    tolua_throws|CEGUI::UnknownObjectException,nil| AnimationInstance* instantiateAnimation(utf8string name);
23    tolua_throws|CEGUI::InvalidRequestException,nil| void destroyAnimationInstance(AnimationInstance* instance);
24    void destroyAllInstancesOfAnimation(Animation* animation);
25
26    tolua_throws|CEGUI::InvalidRequestException,nil| AnimationInstance* getAnimationInstanceAtIdx(unsigned int index) const;
27
28    unsigned int getNumAnimationInstances() const;
29
30    void autoStepInstances(float delta);
31
32    void loadAnimationsFromXML(utf8string filename,
33                               utf8string resourceGroup = "");
34
35    void loadAnimationsFromString(utf8string source);
36    string getAnimationDefinitionAsString(const Animation& animation) const;
37
38    static void setDefaultResourceGroup(utf8string resourceGroup);
39    static string getDefaultResourceGroup();
40};
41
42