/********************************************************************
*
* File: gfCTaskComponent.h
*
* Purpose: An entity which is automatically collected when a
* matching lock is collected.
*
*********************************************************************/
#ifndef gfCTaskComponenthdr
#define gfCTaskComponenthdr
#include <fsCore/src/fsCUniqueId.h>
#include "gfICollectableComponent.h"
class fsCRollOverGui;
class gfCTaskComponent : public gfICollectableComponent
{
friend class fsCComponentFactory;
public:
static const fsCUniqueId mTypeId;
static const fsStr mEntityPrefix;
static const fsCUniqueId mTaskCompleteMsg;
fsS32 scoreGet() const;
const fsStr taskTipGet() const;
void rollOverCandidateRegister(fsCRollOverGui* pRollOver, fsCEntity* pSlot);
void rollOverCandidateDeRegister();
protected:
void onCollectionEffectCompleteDo() override;
void listenersRegisterDo() override;
void listenersDeregisterDo() override;
fsBool messageProcessDo(const fsCUniqueId& pMessageType,
const fsIMessageDispatcher::sMessageParameters& pParam) override;
static fsIComponent* create(fsCEntity* pParent);
gfCTaskComponent(fsCEntity* pParent);
virtual ~gfCTaskComponent();<--- Destructor in derived class
private:
fsCEntity* mGuiSlot;
fsCRollOverGui* mRollOverGui;
};
#endif