Fission FSN
Loading...
Searching...
No Matches
gfCInGameShopGui.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: gfCInGameShopGui.h
4*
5* Purpose: Marketplace for virtual items
6*
7*********************************************************************/
8
9#ifndef gfCInGameShopGuihdr
10#define gfCInGameShopGuihdr
11
12#include <vector>
13
14#include <fsCore/fsPoint.h>
15
16#include "../gfICatalogueGui.h"
17
21
22
24{
25 friend class fsCComponentFactory;
26
27public:
28
30
31 static const fsCUniqueId mTypeId;
32
33 static fsBool itemPurchased(const gfCCatalogueItem* pShopItem);
34 // Loads a shop catalogue the way the shop does; the caller owns the result.
35 static gfCCatalogueCatalogue* catalogueFileLoad(const fsStr& pFileName);
36 fsStr currencyStringGet(fsS32 pCurrencyAmount) const;
38
39 virtual void currencyDisplayRefresh();
40
41protected:
42
43 void catalogueLoadDo() override;
44 void itemInfoSetDo(fsS32 pEntIndex, fsS32 pChildIndex) const override;
45
46 fsBool onButtonClicked(fsCButtonComponent* pButtonComp) override;
47 void itemSelect(const gfICatalogueEntry* pShopItem) override;
48 virtual void onBackSelection();
49
50 void initialiseFromVariableTableDo(const fsCVariableTable& pVars) override;
51
52 static fsIComponent* const create(fsCEntity* pParent);
53
55 virtual ~gfCInGameShopGui();
56
57private:
58
59 fsStr mPostPurchaseAction;
60 fsStr mCurrencyKey;
61 fsStr mConfirmPurchaseFileName;
62
63 static fsBool notEnoughFunds(const gfCCatalogueItem* pItem);
64
65 static void disablePurchase(fsCEntity* pEnt, fsBool pDisable);
66 static fsBool purchasedSet(fsCEntity* pEnt, fsBool pDisable);
67};
68
69#endif
Definition fsCButtonComponent.h:26
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
Definition fsCVariableTable.h:27
Definition fsIComponent.h:26
Definition fsStr.h:23
Definition gfCCatalogueCatalogue.h:17
Definition gfCCatalogueItem.h:16
void itemInfoSetDo(fsS32 pEntIndex, fsS32 pChildIndex) const override
Definition gfCInGameShopGui.cpp:107
gfCInGameShopGui(fsCEntity *pParent)
Definition gfCInGameShopGui.cpp:228
virtual ~gfCInGameShopGui()
Definition gfCInGameShopGui.cpp:234
friend class fsCComponentFactory
Definition gfCInGameShopGui.h:25
fsStr currencyStringGet(fsS32 pCurrencyAmount) const
Definition gfCInGameShopGui.cpp:64
static fsIComponent *const create(fsCEntity *pParent)
Definition gfCInGameShopGui.cpp:210
virtual void currencyDisplayRefresh()
Definition gfCInGameShopGui.cpp:202
void initialiseFromVariableTableDo(const fsCVariableTable &pVars) override
Definition gfCInGameShopGui.cpp:215
void catalogueLoadDo() override
Definition gfCInGameShopGui.cpp:43
virtual void onBackSelection()
Definition gfCInGameShopGui.cpp:188
static gfCCatalogueCatalogue * catalogueFileLoad(const fsStr &pFileName)
Definition gfCInGameShopGui.cpp:31
static const fsCUniqueId mItemPurchasedMsg
Definition gfCInGameShopGui.h:29
void itemSelect(const gfICatalogueEntry *pShopItem) override
Definition gfCInGameShopGui.cpp:179
static const fsCUniqueId mTypeId
Definition gfCInGameShopGui.h:31
fsBool onButtonClicked(fsCButtonComponent *pButtonComp) override
Definition gfCInGameShopGui.cpp:49
static fsBool itemPurchased(const gfCCatalogueItem *pShopItem)
Definition gfCInGameShopGui.cpp:95
fsStr postPurchaseActionGet() const
Definition gfCInGameShopGui.cpp:26
Definition gfICatalogueEntry.h:18
gfICatalogueGui(fsCEntity *pParent)
Definition gfICatalogueGui.cpp:266
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20