Fission FSN
Loading...
Searching...
No Matches
fsCAnimationDataManager.h
Go to the documentation of this file.
1/********************************************************************
2*
3* Created: 14/3/2014 9:07
4*
5* File: fsCAnimationDataManager.h
6*
7* Author: Mick Waites
8*
9* Purpose: To control the sharing of animation data instances.
10*
11*********************************************************************/
12
13#ifndef fsCAnimationDataManagerhdr
14#define fsCAnimationDataManagerhdr
15
16#include <map>
17#include <memory>
18
19#include <fsCore/fsStr.h>
20
21class fsCResourceName;
24class fsCSprite;
25
27{
28public:
29
30 std::shared_ptr<fsIAnimatingSprite> const createAnimationInstance(std::shared_ptr<fsIAnimationData>,
31 fsCSprite* pAnimatingRootSprt);
32
33 fsBool spriterFileType(const fsStr& pFileName) const;
34
35 std::shared_ptr<fsIAnimationData> getPermanent(const fsCResourceName& pFileName, fsBool pHitMap);
36 std::shared_ptr<fsIAnimationData> get(const fsCResourceName& pFileName, fsBool pHitMap);
37
38 void flush();
39
40 static std::unique_ptr<fsCAnimationDataManager> create();
41
43
44protected:
45
47
48private:
49
50 std::shared_ptr<fsIAnimationData> createAnimationData(const fsCResourceName& pFileName, fsBool pHitMap);
51
52 static const fsStr mSpriterExt;
53
54 std::map<fsStr, std::shared_ptr<fsIAnimationData>> mData;
55 std::map<fsStr, std::shared_ptr<fsIAnimationData>> mPermanentData;
56};
57
58#endif
std::shared_ptr< fsIAnimatingSprite > const createAnimationInstance(std::shared_ptr< fsIAnimationData >, fsCSprite *pAnimatingRootSprt)
Definition fsCAnimationDataManager.cpp:27
~fsCAnimationDataManager()
Definition fsCAnimationDataManager.cpp:112
std::shared_ptr< fsIAnimationData > getPermanent(const fsCResourceName &pFileName, fsBool pHitMap)
Definition fsCAnimationDataManager.cpp:68
static std::unique_ptr< fsCAnimationDataManager > create()
Definition fsCAnimationDataManager.cpp:102
fsCAnimationDataManager()
Definition fsCAnimationDataManager.cpp:108
void flush()
Definition fsCAnimationDataManager.cpp:97
fsBool spriterFileType(const fsStr &pFileName) const
Definition fsCAnimationDataManager.cpp:22
std::shared_ptr< fsIAnimationData > get(const fsCResourceName &pFileName, fsBool pHitMap)
Definition fsCAnimationDataManager.cpp:83
Definition fsCResourceName.h:32
Definition fsCSprite.h:24
Definition fsIAnimatingSprite.h:32
Definition fsIAnimationData.h:18
Definition fsStr.h:23
bool fsBool
Definition fsBaseTypes.h:26