/********************************************************************
*
* Created: 20/3/2014 11:16
*
* File: fsCSpriteParticle.h
*
* Author: Mick Waites
*
* Purpose: A basic particle, a simple sprite.
*
*********************************************************************/
#ifndef fsCSpriteParticlehdr
#define fsCSpriteParticlehdr
#include <memory>
#include "fsIParticle.h"
class fsCBrush;
class fsCSpriteParticle : public fsIParticle
{
friend class fsCParticleData;
public:
virtual ~fsCSpriteParticle();<--- Destructor in derived class
fsCSpriteParticle(std::shared_ptr<fsCBrush> pBrush, fsS32 pAlphaBlendMode, const fsSColour& pSingleColour,
fsVec2d const& pPivot, const sCreateParmas& pParams);
protected:
std::shared_ptr<fsCBrush> brushGetDo() const override;
void textureWrapSet() override;
void uvApply(const fsVec2d& pUV) 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;
fsCSprite* const mSprite;
private:
};
#endif