30 #ifndef _CEGUIAnimationManager_h_
31 #define _CEGUIAnimationManager_h_
33 #include "CEGUI/Singleton.h"
34 #include "CEGUI/String.h"
39 # pragma warning(push)
40 # pragma warning(disable : 4251)
117 void destroyAnimation(
Animation* animation);
123 void destroyAnimation(
const String& name);
129 void destroyAllAnimations();
148 bool isAnimationPresent(
const String& name)
const;
154 Animation* getAnimationAtIdx(
size_t index)
const;
160 size_t getNumAnimations()
const;
190 void destroyAllInstancesOfAnimation(
Animation* animation);
196 void destroyAllAnimationInstances();
209 size_t getNumAnimationInstances()
const;
221 void autoStepInstances(
float delta);
235 void loadAnimationsFromXML(
const String& filename,
236 const String& resourceGroup =
"");
246 void loadAnimationsFromString(
const String& source);
258 void writeAnimationDefinitionToStream(
const Animation& animation,
OutStream& out_stream)
const;
274 String getAnimationDefinitionAsString(
const Animation& animation)
const;
284 static void setDefaultResourceGroup(
const String& resourceGroup)
286 s_defaultResourceGroup = resourceGroup;
298 static const String& getDefaultResourceGroup()
300 return s_defaultResourceGroup;
304 typedef std::map<String, Interpolator*, std::less<String>
306 String generateUniqueAnimationName();
309 InterpolatorMap d_interpolators;
311 CEGUI_VECTOR_ALLOC(
Interpolator*)> BasicInterpolatorList;
313 BasicInterpolatorList d_basicInterpolators;
315 typedef std::map<String, Animation*> AnimationMap;
317 AnimationMap d_animations;
319 typedef std::multimap<Animation*, AnimationInstance*, std::less<Animation*>
322 AnimationInstanceMap d_animationInstances;
324 static String s_defaultResourceGroup;
326 static const String GeneratedAnimationNameBase;
328 unsigned long d_uid_counter;
333 #if defined(_MSC_VER)
334 # pragma warning(pop)
337 #endif // end of guard _CEGUIAnimationManager_h_