/********************************************************************
*
* File: gfITextPickListEntryGui.h
*
* Purpose: Interface for text pick list entries
*
*********************************************************************/
#ifndef gfITextPickListEntryGuihdr
#define gfITextPickListEntryGuihdr
#include "gfIHintablePickListEntry.h"
class gfITextPickListEntryGui : public gfIHintablePickListEntry
{
public:
virtual ~gfITextPickListEntryGui() = default;<--- Destructor in derived class
protected:
enum
{
eTYPE_RANDOM = 0,
eTYPE_HIDDEN,
eTYPE_REQUIRED,
eTYPE_TASK,
eTYPE_TOOL
};
void deactivateDo() override;
void serialiseDo() override;
void deserialiseDo() override;
void textColourSet(fsITextSpriteComponent* pTxtSprComp, fsBool pCollected);
void activateDo(std::vector<fsCEntity*> pMyEntities) override;
fsBool entityCollectedHandle() override;
void listenersRegisterDo() override;
void listenersDeregisterDo() override;
fsBool messageProcessDo(const fsCUniqueId& pMessageType,
const fsIMessageDispatcher::sMessageParameters& pParam) override;
gfITextPickListEntryGui(fsCEntity* pParent);
fsStr anagramGet() const;
void textUpdate();
private:
fsS32 mEntityType;
fsBool mAnagramHint;
void entityTypeIdentify(const fsCEntity* pEntity);
fsCEntity* const taskNotePanelLocate();
void taskNotePanelCreate();
fsBool hitTest(const fsPoint& pPointerPos);
};
#endif