Fission FSN
Loading...
Searching...
No Matches
gfCGameGui.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsCGameGui.h
4*
5* Purpose: Root, generic Gui for any game scene. Contains pause
6* button and may also contain hint and skip buttons
7* if the layout file lists them.
8*
9*********************************************************************/
10
11#ifndef fsCGameGuihdr
12#define fsCGameGuihdr
13
15
17
19class gfCHOGHint;
20
21
23{
24 friend class fsCComponentFactory;
25
26public:
27
28 static const fsCUniqueId mTypeId;
29
31
33
35 fsBool hintActivate(fsCEntity* pStartEnt, fsCEntity* pEndEnt);
36 fsBool hintActivate(std::vector<fsCEntity*>& pCandidates);
37
38 fsBool miniGameSkipGet() const;
39 void minigameSkip();
40
41 // As minigameSkip(), but not flagged as skipped so it counts towards
42 // achievements, score bonuses and the round-score GUIs.
43 void minigameComplete();
44
45protected:
46
47 void renderDo() override;
48 void updateDo(fsS32 pDeltaMs) override;
49 void postLoadDo() override;
50
51 void listenersDeregisterDo() override;
52 void listenersRegisterDo() override;
53 fsBool messageProcessDo(const fsCUniqueId& pMessageType,
54 const fsIMessageDispatcher::sMessageParameters& pParam) override;
55
56 void initialiseFromVariableTableDo(const fsCVariableTable& pVars) override;
57 fsBool onButtonClicked(fsCButtonComponent* pButtonComp) override;
58
59 static fsIComponent* create(fsCEntity* pParent);
60
61 fsCGameGui(fsCEntity* pParent);
62 virtual ~fsCGameGui();
63
64private:
65
66 fsBool hintButtonActive(fsCButtonComponent* const pButtonComp) const;
67
68 void minigameResolve(fsBool pCountAsSkip);
69
70 void miniGameContinueButtonVisibilitySet(fsBool pContinueButtonVisible);
71
72 void ephemeralRecycleParticleEffectEntityCreate();
73
74 void miniGameGuiTitlesLinkToSubScene();
75
76 void differencesFoundUpdate();
77
78 gfCLevelCompleteCheckerComponent* const levelCompleteCheckComponentGet();
79 void playerControlledContinueButtonRegisterForLevelCompletion();
80
81 void timerGuiInitialise();
82 void delayButtonsInitialise(const fsStr& pName);
83
84 void titleTextInitialise();
85 void timerTextSet(const fsStr& pName, fsStr pVal);
86 void timerTextUpdate();
87 void currencyTextUpdate();
88 void differencesTextInitialise();
89 void differencesTextUpdate();
90
91 gfCHOGHint* mHint;
92
93 fsS32 mTotDifferences;
94 fsS32 mDifferencesFound;
95
96 fsBool mSkippedMiniGame;
97};
98
99#endif
Definition fsCButtonComponent.h:26
Definition fsCEntity.h:39
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition gfCGameGui.cpp:120
virtual ~fsCGameGui()
Definition gfCGameGui.cpp:568
void listenersRegisterDo() override
Definition gfCGameGui.cpp:83
void listenersDeregisterDo() override
Definition gfCGameGui.cpp:66
friend class fsCComponentFactory
Definition gfCGameGui.h:24
fsBool onButtonClicked(fsCButtonComponent *pButtonComp) override
Definition gfCGameGui.cpp:394
static const fsStr mPlayerControlledContinueButtonName
Definition gfCGameGui.h:32
fsBool miniGameSkipGet() const
Definition gfCGameGui.cpp:484
fsBool hintActivate(fsCEntity *pStartEnt, fsCEntity *pEndEnt)
Definition gfCGameGui.cpp:50
static const fsCUniqueId mTypeId
Definition gfCGameGui.h:28
void initialiseFromVariableTableDo(const fsCVariableTable &pVars) override
Definition gfCGameGui.cpp:223
fsCGameGui(fsCEntity *pParent)
Definition gfCGameGui.cpp:559
static const fsCUniqueId mHintButtonPressedMsg
Definition gfCGameGui.h:30
void renderDo() override
Definition gfCGameGui.cpp:39
static fsIComponent * create(fsCEntity *pParent)
Definition gfCGameGui.cpp:554
void delayButtonsInitialise()
Definition gfCGameGui.cpp:251
void minigameComplete()
Definition gfCGameGui.cpp:494
void updateDo(fsS32 pDeltaMs) override
Definition gfCGameGui.cpp:44
void minigameSkip()
Definition gfCGameGui.cpp:489
void postLoadDo() override
Definition gfCGameGui.cpp:60
Definition fsCUniqueId.h:21
Definition fsCVariableTable.h:27
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
fsIMessageListenerGuiComponent(fsCEntity *pParent, fsS32 pPriority)
Definition fsIMessageListenerGuiComponent.cpp:4
Definition fsStr.h:23
Definition gfCHOGHint.h:27
Definition gfCLevelCompleteCheckerComponent.h:20
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsIMessageDispatcher.h:32