Fission FSN
Loading...
Searching...
No Matches
fsCAnimatingSpriteSpine.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsCAnimatingSpriteSpine.h
4*
5* Purpose: Spine skeleton and animation-state instance.
6*
7*********************************************************************/
8
9#ifndef fsCAnimatingSpriteSpinehdr
10#define fsCAnimatingSpriteSpinehdr
11
12#include <memory>
13#include <vector>
14
16
17#include <spine/Physics.h>
18
19namespace spine
20{
21 class AnimationState;
22 class AnimationStateData;
23 class Skeleton;
24}
25
29class fsCTexturedMesh;
30
32{
36
37public:
38 ~fsCAnimatingSpriteSpine() override;
39
40protected:
41 explicit fsCAnimatingSpriteSpine(fsCSprite* pAnimatingRootSprt);
42
43 void activeSet(fsBool pVisibility) override;
44 void animationPlayDo(const fsStr& pAnimation) override;
45 void animationPlayDo(const fsStr& pAnimation, fsBool pLooping) override;
46 fsBool animationQueueDo(const fsStr& pAnimation, fsBool pLooping) override;
47 fsBool animationTrackPlayDo(fsS32 pTrackIndex, const fsStr& pAnimation, fsBool pLooping) override;
48 fsBool animationTrackQueueDo(fsS32 pTrackIndex, const fsStr& pAnimation, fsBool pLooping) override;
49 fsBool animationTrackClearDo(fsS32 pTrackIndex) override;
50 void animationTracksClearDo() override;
51 void animationMixDurationSetDo(fsS32 pDurationMs) override;
52 fsBool skinSetDo(const fsStr& pSkin) override;
53 fsBool attachmentSetDo(const fsStr& pSlot, const fsStr& pAttachment) override;
54 void colourApplyToSpriteFrames(const fsSColour4B& pColour) override;
55 void animationDataSetDo(std::shared_ptr<fsIAnimationData> pAnimData) override;
56
57 fsS32 currentFrameHeightGetDo() const override;
58 fsPoint currentFramePosGetDo() const override;
59 std::shared_ptr<fsCBrush> brushGetDo() const override;
60 fsBool hitTestDo(const fsPoint& pPoint, fsBool pRequireHitMap) const override;
61 fsS32 currentFrameGetDo() const override;
62 void updateDo(fsS32 pDeltaMS) override;
63 fsBool loopingGetDo() const override;
64 void resetDo() override;
65
66 void matrixApplyDo(const fsAffineMtx2d& pRenderMtx) override;
67 void renderDo() override;
68
69private:
70 void instanceCreate();
71 void instanceDestroy();
72 void geometryUpdate();
73 void poseApply(spine::Physics pPhysics);
74 void activeUpdate();
75 void animationEventDispatchSpine(const fsSAnimationEvent& pEvent) const;
76
77 std::shared_ptr<fsCAnimationDataSpine> mAnimationData;
78 spine::Skeleton* mSkeleton;
79 spine::AnimationStateData* mStateData;
80 spine::AnimationState* mState;
81 std::unique_ptr<fsCSpineStateListener> mStateListener;
82 std::vector<std::unique_ptr<fsCTexturedMesh>> mMeshes;
83 size_t mRenderableCount;
84};
85
86#endif
Definition fsAffineMtx2d.h:27
void activeSet(fsBool pVisibility) override
Definition fsCAnimatingSpriteSpine.cpp:200
std::shared_ptr< fsCBrush > brushGetDo() const override
Definition fsCAnimatingSpriteSpine.cpp:390
fsBool loopingGetDo() const override
Definition fsCAnimatingSpriteSpine.cpp:496
fsBool hitTestDo(const fsPoint &pPoint, fsBool pRequireHitMap) const override
Definition fsCAnimatingSpriteSpine.cpp:395
fsBool skinSetDo(const fsStr &pSkin) override
Definition fsCAnimatingSpriteSpine.cpp:310
void animationPlayDo(const fsStr &pAnimation) override
Definition fsCAnimatingSpriteSpine.cpp:208
void animationDataSetDo(std::shared_ptr< fsIAnimationData > pAnimData) override
Definition fsCAnimatingSpriteSpine.cpp:369
fsBool attachmentSetDo(const fsStr &pSlot, const fsStr &pAttachment) override
Definition fsCAnimatingSpriteSpine.cpp:333
friend class fsCAnimationProviderSpine
Definition fsCAnimatingSpriteSpine.h:34
fsBool animationTrackQueueDo(fsS32 pTrackIndex, const fsStr &pAnimation, fsBool pLooping) override
Definition fsCAnimatingSpriteSpine.cpp:252
friend class fsCAnimationDataManager
Definition fsCAnimatingSpriteSpine.h:33
void resetDo() override
Definition fsCAnimatingSpriteSpine.cpp:502
void matrixApplyDo(const fsAffineMtx2d &pRenderMtx) override
Definition fsCAnimatingSpriteSpine.cpp:521
void colourApplyToSpriteFrames(const fsSColour4B &pColour) override
Definition fsCAnimatingSpriteSpine.cpp:356
void animationMixDurationSetDo(fsS32 pDurationMs) override
Definition fsCAnimatingSpriteSpine.cpp:302
void animationTracksClearDo() override
Definition fsCAnimatingSpriteSpine.cpp:288
friend class fsCSpineStateListener
Definition fsCAnimatingSpriteSpine.h:35
fsBool animationTrackPlayDo(fsS32 pTrackIndex, const fsStr &pAnimation, fsBool pLooping) override
Definition fsCAnimatingSpriteSpine.cpp:223
~fsCAnimatingSpriteSpine() override
Definition fsCAnimatingSpriteSpine.cpp:724
fsCAnimatingSpriteSpine(fsCSprite *pAnimatingRootSprt)
Definition fsCAnimatingSpriteSpine.cpp:715
fsPoint currentFramePosGetDo() const override
Definition fsCAnimatingSpriteSpine.cpp:382
fsS32 currentFrameGetDo() const override
Definition fsCAnimatingSpriteSpine.cpp:469
void updateDo(fsS32 pDeltaMS) override
Definition fsCAnimatingSpriteSpine.cpp:478
fsBool animationTrackClearDo(fsS32 pTrackIndex) override
Definition fsCAnimatingSpriteSpine.cpp:272
fsS32 currentFrameHeightGetDo() const override
Definition fsCAnimatingSpriteSpine.cpp:376
fsBool animationQueueDo(const fsStr &pAnimation, fsBool pLooping) override
Definition fsCAnimatingSpriteSpine.cpp:218
void renderDo() override
Definition fsCAnimatingSpriteSpine.cpp:529
Definition fsCAnimationDataSpine.h:25
Definition fsCAnimationProviderSpine.h:5
Definition fsCAnimatingSpriteSpine.cpp:37
Definition fsCSprite.h:24
Definition fsCTexturedMesh.h:21
fsIAnimatingSprite(const fsCResourceName &pFileName, fsBool pHitMap, fsCSprite *pAnimatingSpriteRoot)
Definition fsIAnimatingSprite.cpp:143
Definition fsStr.h:23
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsCAnimatingSpriteSpine.h:20
Definition fsPoint.h:17
Definition fsAnimationEvent.h:11
Definition fsSColour.h:54