/********************************************************************
*
* Created: 7/4/2014 10:57
*
* File: fsCAnimationParticle.h
*
* Author: Mick Waites
*
* Purpose: An animated particle sprite.
*
*********************************************************************/
#ifndef fsCAnimationParticlehdr
#define fsCAnimationParticlehdr
#include<memory>
#include "fsIParticle.h"
class fsIAnimatingSprite;
class fsCAnimationParticle : public fsIParticle
{
friend class fsCParticleData;
public:
virtual ~fsCAnimationParticle();<--- Destructor in derived class
fsCAnimationParticle(std::shared_ptr<fsIAnimationData> pAnimData, const sCreateParmas& pParams);
protected:
std::shared_ptr<fsCBrush> brushGetDo() const override;
fsBool hitTestDo(const fsPoint& pLocalPos) const override;
void updateDo(fsS32 pDeltaTime) override;
void renderDo() override;
void colourGraphUpdate() override;
void matrixApplyDo(const fsAffineMtx2d& pMatrix) override;
private:
std::shared_ptr<fsIAnimatingSprite> mAnimatingSprite;
fsCSprite* mAnimationRootSprite;
};
#endif