/********************************************************************
*
* File: fsC3dAnimationData.h
*
* Purpose: Marmalade 3D animation data
*
*********************************************************************/
#ifndef fsC3dAnimationDatahdr
#define fsC3dAnimationDatahdr
#include <map>
#include <fsCore/fsStr.h>
#include "fsC3dModelData.h"
#include "../../fsI3dAnimationData.h"
class fsC3dAnimationData : public fsI3dAnimationData
{
friend class fsI3dAnimationData;
friend class fsCRetained3dSprite;
public:
::ModelAnimation* const get(const fsStr& panimationName);
virtual ~fsC3dAnimationData();<--- Destructor in derived class
protected:
static fsStr filenameGet(const fsStr& pFileName, const fsStr& pAnimationName);
fsC3dAnimationData(const fsStr& pFileName, const fsStr& pAnimationName);
private:
fsStr animationNameGet(const fsStr& pAnimationName) const;
::ModelAnimation* createRaylibAnimation(const fsStr& pAnimationName);
std::map<fsStr, ::ModelAnimation*> mAnims;
fsS32 mAnimationCount;
fsStr mModelFilename;
};
#endif