/********************************************************************
*
* File: gfCFlipsawMiniGameLogicComponent.h
*
* Purpose: Logic component added to a scene to control the
* flipsaw as a mini game - need to
* track them and reset if required
*
*********************************************************************/
#ifndef gfCFlipsawMiniGameLogicComponenthdr
#define gfCFlipsawMiniGameLogicComponenthdr
#include "gfCFlipsawMinigameComponent.h"
#include "../gfIMinigameLogic.h"
class gfCFlipsawMinigameComponent;
class gfCFlipsawMiniGameLogicComponent : public gfIMinigameLogic
{
friend class fsCComponentFactory;
friend class gfCHogEntityFactory;
public:
static const fsCUniqueId mTypeId;
static const fsStr mEntityPrefix;
std::vector<gfCFlipsawMinigameComponent*> gamePiecesGet() const;<--- Function 'gamePiecesGet()' should return member 'mGamePieces' by const reference.
protected:
void skipDo() override;<--- Function in derived class
void listenersRegisterDo() override;
void listenersDeregisterDo() override;
fsBool messageProcessDo(const fsCUniqueId& pMessageType,<--- Function in derived class
const fsIMessageDispatcher::sMessageParameters& pParam) override;
void resetDo() override;
void deserialiseDo() override;
void serialiseDo() override;
void initialiseFromVariableTableDo(const fsCVariableTable& pVars) override;
static fsIComponent* create(fsCEntity* pParent);
gfCFlipsawMiniGameLogicComponent(fsCEntity* pParent);
virtual ~gfCFlipsawMiniGameLogicComponent();<--- Destructor in derived class
private:
void gamePiecesCollect();
std::vector<gfCFlipsawMinigameComponent*> mGamePieces;
};
#endif