29 #ifndef _CEGUIAnimationManager_h_
30 #define _CEGUIAnimationManager_h_
32 #include "CEGUI/Singleton.h"
33 #include "CEGUI/String.h"
38 # pragma warning(push)
39 # pragma warning(disable : 4251)
116 void destroyAnimation(
Animation* animation);
122 void destroyAnimation(
const String& name);
128 void destroyAllAnimations();
147 bool isAnimationPresent(
const String& name)
const;
153 Animation* getAnimationAtIdx(
size_t index)
const;
159 size_t getNumAnimations()
const;
189 void destroyAllInstancesOfAnimation(
Animation* animation);
195 void destroyAllAnimationInstances();
208 size_t getNumAnimationInstances()
const;
220 void autoStepInstances(
float delta);
234 void loadAnimationsFromXML(
const String& filename,
235 const String& resourceGroup =
"");
245 void loadAnimationsFromString(
const String& source);
257 void writeAnimationDefinitionToStream(
const Animation& animation,
OutStream& out_stream)
const;
273 String getAnimationDefinitionAsString(
const Animation& animation)
const;
283 static void setDefaultResourceGroup(
const String& resourceGroup)
285 s_defaultResourceGroup = resourceGroup;
297 static const String& getDefaultResourceGroup()
299 return s_defaultResourceGroup;
303 typedef std::map<String, Interpolator*, std::less<String>
305 String generateUniqueAnimationName();
308 InterpolatorMap d_interpolators;
310 CEGUI_VECTOR_ALLOC(
Interpolator*)> BasicInterpolatorList;
312 BasicInterpolatorList d_basicInterpolators;
314 typedef std::map<String, Animation*> AnimationMap;
316 AnimationMap d_animations;
318 typedef std::multimap<Animation*, AnimationInstance*, std::less<Animation*>
321 AnimationInstanceMap d_animationInstances;
323 static String s_defaultResourceGroup;
325 static const String GeneratedAnimationNameBase;
327 unsigned long d_uid_counter;
332 #if defined(_MSC_VER)
333 # pragma warning(pop)
336 #endif // end of guard _CEGUIAnimationManager_h_