/********************************************************************
*
* Created: 15/4/2014 15:36
*
* File: fsITrailComponent.h
*
* Author: Mick Waites
*
* Purpose:
*
*********************************************************************/
#ifndef fsITrailComponenthdr
#define fsITrailComponenthdr
#include <fsCore/src/fsCUniqueId.h>
#include "fsIComponent.h"
struct fsPoint;
class fsITrailComponent : public fsIComponent
{
public:
void initialise(const fsPoint& pStartPos, const fsPoint& pEndPos, fsS32 pBaseDurationMs,
fsBool pDestroyParentWhenComplete);
void updateDo(fsS32 pDeltaMs) override;
fsBool completedGet() const;
protected:
fsITrailComponent(fsCEntity* pParent);
virtual ~fsITrailComponent();<--- Destructor in derived class
fsS32 mDuration;
fsS32 mElapsedTime;
private:
virtual void initialiseDo(const fsPoint& pStartPos, const fsPoint& pEndPos) = 0;
virtual void updateDo() = 0;
fsBool mDestroyWhenComplete;
};
#endif