/********************************************************************
*
* File: fsCActorComponent.h
*
* Purpose: Wrap up in game characters
*
*********************************************************************/
#ifndef fsCActorComponenthdr
#define fsCActorComponenthdr
#include <fsCore/src/fsCUniqueId.h>
#include "../fsIComponent.h"
class fsCSprite;
class fsCResourceName;
class fsIActorMovementComponent;
class fsCActorComponent : public fsIComponent
{
friend class fsCComponentFactory;
public:
static const fsStr mEntityPrefix;
static const fsCUniqueId mTypeId;
void initialise(const fsCResourceName& pTraitsFile);
void pathInitialise(const fsCResourceName& pPathFile);
virtual ~fsCActorComponent();<--- Destructor in derived class
protected:
void updateDo(fsS32 pDeltaMs) override;<--- Function in derived class
void initialiseFromVariableTableDo(const fsCVariableTable& pVars) override;
static fsIComponent* create(fsCEntity* pParent);
fsCActorComponent(fsCEntity* pParent);
private:
std::unique_ptr<fsCVariableTable> mTraits;
};
#endif