/********************************************************************
*
* File: gfCWordTilesMinigameComponent.h
*
* Purpose: Wheel of fortune style minigame
*
*********************************************************************/
#ifndef gfCWordTilesMinigameComponenthdr
#define gfCWordTilesMinigameComponenthdr
#include "../../gfIMinigameComponent.h"
class gfCWordTilesMinigameComponent : public gfIMinigameComponent
{
friend class fsCComponentFactory;
public:
static const fsCUniqueId mTypeId;
static const fsStr mEntityPrefix;
fsStr tileSetGet() const { return mTileSet; }
protected:
void listenersDeregisterDo() override;
void listenersRegisterDo() override;
fsBool messageProcessDo(const fsCUniqueId& pMessageType,
const fsIMessageDispatcher::sMessageParameters& pParam) override;
void serialiseDo() override;
void deserialiseDo() override;
void initialiseDo(const fsCVariableTable& pVars) override;
void skipDo() override;
fsBool acceptingInputGet() const override;
static fsIComponent* create(fsCEntity* pParent);
gfCWordTilesMinigameComponent(fsCEntity* pParent);
virtual ~gfCWordTilesMinigameComponent();<--- Destructor in derived class
private:
void phraseBuild();
fsStr currentPuzzleGet() const;
fsS32 puzzleCountGet() const;
std::vector<fsCEntity*> mCurrentPuzzlePhrase;
fsS32 mCurrentPuzzle;
fsS32 mPuzzleCount;
fsPoint mOrigin;
fsPoint mDimensions;
fsStr mTileSet;
};
#endif