/********************************************************************
*
* File: gfCDiaryGui.h
*
* Purpose: Level loading gui
*
*********************************************************************/
#ifndef gfCDiaryGuihdr
#define gfCDiaryGuihdr
#include "../gfICatalogueGui.h"
class gfICatalogueEntry;
class gfCCatalogueItem;
class gfCDiaryGui : public gfICatalogueGui
{
friend class fsCComponentFactory;
public:
static const fsCUniqueId mTypeId;
protected:
void renderDo() override;
void onIconSelection(fsS32 pIconIndex) override;
void onScrollSelection(fsS32 pDirection) override;
void buttonsRefresh() override;
fsBool onButtonClicked(fsCButtonComponent* pButtonComp);<--- Function in derived class
void listenersDeregisterDo() override;
void listenersRegisterDo() override;
fsBool messageProcessDo(const fsCUniqueId& pMessageType,
const fsIMessageDispatcher::sMessageParameters& pParam) override;
void catalogueLoadDo() override;
void itemInfoSetDo(fsS32 pEntIndex, fsS32 pChildIndex) const override;
void initialiseFromVariableTableDo(const fsCVariableTable& pVars) override;
static fsIComponent* create(fsCEntity* pParent);
gfCDiaryGui(fsCEntity* pParent);
virtual ~gfCDiaryGui();<--- Destructor in derived class
private:
std::vector<const gfCCatalogueItem*> getEntriesOnPage(fsU32 pPage);
void currentMinigamePageSelect();
void starsEnable(gfCCatalogueItem const* pCatalogueItem, fsCEntity* pCatalogueEntity) const;
fsS32 mPage;
};
#endif