1
0
forked from 0ad/0ad
0ad/source/graphics/SkeletonAnimManager.h
Ykkrosh 5228800b73 # Fixed Linux build
Use noncopyable instead of boost::noncopyable. (But maybe this should be
changed to the NONCOPYABLE macro instead?)
Use boost::filesystem::wpath::file_string instead of
external_file_string, since the latter varies between std::string on
Linux and std::wstring on Windows.
Use wcstombs instead of wcstombs_s.
Use rtl_AllocateAligned instead of _mm_malloc.

This was SVN commit r6574.
2009-01-02 21:19:41 +00:00

43 lines
1.2 KiB
C++

/**
* =========================================================================
* File : SkeletonAnimManager.h
* Project : 0 A.D.
* Description : Owner of all skeleton animations
* =========================================================================
*/
#ifndef INCLUDED_SKELETONANIMMANAGER
#define INCLUDED_SKELETONANIMMANAGER
#include <map>
#include <set>
class CColladaManager;
class CSkeletonAnimDef;
class CStr8;
///////////////////////////////////////////////////////////////////////////////
// CSkeletonAnimManager : owner class of all skeleton anims - manages creation,
// loading and destruction of animation data
class CSkeletonAnimManager : noncopyable
{
public:
// constructor, destructor
CSkeletonAnimManager(CColladaManager& colladaManager);
~CSkeletonAnimManager();
// return a given animation by filename; return null if filename doesn't
// refer to valid animation file
CSkeletonAnimDef* GetAnimation(const CStr8& filename);
private:
CSkeletonAnimDef* LoadAnimation(const char* filename);
// map of all known animations. Value is NULL if it failed to load.
std::map<CStr8, CSkeletonAnimDef*> m_Animations;
CColladaManager& m_ColladaManager;
};
#endif