1 #ifndef __SSPLAYER_ANIMEDECODE__
2 #define __SSPLAYER_ANIMEDECODE__
4 #include "../loader/ssloader.h"
5 #include "../Helper/ssHelper.h"
8 #include "ssplayer_types.h"
9 #include "ssplayer_cellmap.h"
10 #include "ssplayer_PartState.h"
12 #define foreach(T, c, i) for(T::iterator i = c.begin(); i!=c.end(); ++i)
20 typedef std::pair<SsPart*,SsPartAnime*> SsPartAndAnime;
30 return lhs->index < rhs->index;
44 std::vector<SsPartAndAnime> partAnime;
47 std::map<SsString,SsPartAnime*> partAnimeDic;
52 std::list<SsPartState*> sortList;
66 int CalcAnimeLabel2Frame(
const SsString& str,
int offset );
67 int findAnimetionLabel(
const SsString& str);
74 if ( curCellMapManager )
75 delete curCellMapManager;
86 void setPlayFrame(
float time ) { nowPlatTime = time; }
87 int getAnimeEndFrame() {
return curAnimeEndFrame; }
92 std::list<SsPartState*>& getPartSortList(){
return sortList;}
93 std::vector<SsPartAndAnime>& getPartAnime(){
return partAnime; }
95 template<
typename mytype>
int SsGetKeyValue(
int time ,
SsAttribute* attr , mytype& value );
96 template<
typename mytype>
void SsInterpolationValue(
int time ,
const SsKeyframe* leftkey ,
const SsKeyframe* rightkey , mytype& v );