#include "fsCAnimationParticle.h"
#include <fsAppCore/src/fsCAppCoreMain.h>
#include "../../fsIAnimatingSprite.h"
#include "../fsCSprite.h"
#include "../animatingSprite/fsCAnimationDataManager.h"
std::shared_ptr<fsCBrush> fsCAnimationParticle::brushGetDo() const
{
return mAnimatingSprite->brushGet();
}
fsBool fsCAnimationParticle::hitTestDo(const fsPoint& pLocalPos) const
{
return mAnimatingSprite->hitTest(pLocalPos, true);
}
void fsCAnimationParticle::updateDo(fsS32 pDeltaTime)
{
mAnimatingSprite->update(pDeltaTime);
}
void fsCAnimationParticle::renderDo()
{
mAnimatingSprite->render();
}
void fsCAnimationParticle::colourGraphUpdate()
{
if (mColourGraph)
{
mAnimatingSprite->colourSet(colourGraphValueGet(mElapsedTimeMs % mColourGraph->periodGet()));
}
}
void fsCAnimationParticle::matrixApplyDo(const fsAffineMtx2d& pMatrix)
{
mAnimatingSprite->matrixApply(pMatrix);
}
fsCAnimationParticle::fsCAnimationParticle(std::shared_ptr<fsIAnimationData> pAnimData, const sCreateParmas& pParams) :
fsIParticle(pParams),
mAnimationRootSprite(new fsCSprite())<--- Class 'fsCAnimationParticle' does not have a copy constructor which is recommended since it has dynamic memory/resource management.<--- Class 'fsCAnimationParticle' does not have a operator= which is recommended since it has dynamic memory/resource management.
{
mAnimatingSprite = fsCAppCoreMain::instanceGet()->animationManagerGet()->createAnimationInstance(
pAnimData, mAnimationRootSprite);
}
fsCAnimationParticle::~fsCAnimationParticle()
{
delete mAnimationRootSprite;
}