Fission FSN
Loading...
Searching...
No Matches
gfCPairsMinigameComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* Created: 1/5/2014 13:01
4*
5* File: gfCPairsMinigameComponent.h
6*
7* Author: Mick Waites
8*
9* Purpose: Pairs mini game component
10*
11*********************************************************************/
12
13#ifndef gfCPairsMinigameComponenthdr
14#define gfCPairsMinigameComponenthdr
15
19
22class fsCBrush;
24
26{
27 friend class fsCComponentFactory;
28
29public:
30
31 static const fsCUniqueId mTypeId;
34 static const fsStr mEntityPrefix;
35
36 void gameLogicSet(gfCPairsMiniGameLogicComponent* const pParentLogic);
37 fsBool selected() const;
38 std::vector<gfCPairsMinigameComponent*> matchingSiblingsGet() const;
39
40 fsBool isHintableGet() const override;
41 fsBool isActiveGet() const override;
42 fsBool hintDo() override;
43
44protected:
45
51
52 void listenersRegisterDo() override;
53 void listenersDeregisterDo() override;
54 fsBool messageProcessDo(const fsCUniqueId& pMessageType,
55 const fsIMessageDispatcher::sMessageParameters& pParam) override;
56
57 void onTap(const fsPoint& pTapPos) override;
58
59 void serialiseDo() override;
60 void deserialiseDo() override;
61
62 void initialiseDo(const fsCVariableTable& pVars) override;
63 void skipDo() override;
64
65 fsBool acceptingInputGet() const override;
66
67 void updateDo(fsS32 pDeltaMs) override;
68
69 static fsIComponent* create(fsCEntity* pParent);
70
73
74private:
75
76 enum
77 {
78 eSTATE_UNSELECTED = 0,
79
80 eSTATE_TRANSITION_OUT,
81 eSTATE_TRANSITION_IN,
82
83 eSTATE_SELECTED,
84 eSTATE_MISMATCHED,
85 eSTATE_UNSELECTABLE,
86 eSTATE_SHUFFLE,
87
88 eSTATE_MATCHED
89 };
90
91 typedef fsBool (gfCPairsMinigameComponent::*fsTPairsMinigameMemFnc)() const;
92
93 std::vector<gfCPairsMinigameComponent*> activeSiblingsGet() const;
94 std::vector<gfCPairsMinigameComponent*> siblingsGet(fsTPairsMinigameMemFnc pCondition = nullptr) const;
95
96 void sfxPlay();
97
98 fsBool tapableGet() const;
99 fsBool activeGet() const;
100 fsBool transitioningGet() const;
101 fsBool selectedGet() const;
102
103 void closestShuffelableCandidate(fsCEntity* pPotentialCandidate, fsCEntity*& pCandidate);
104
105 fsBool shufflable() const;
106
107 gfCPairsMinigameComponent* const shuffleBuddyGet();
108 void trailComponentAdd(gfCPairsMinigameComponent* pShuffleBuddy);
109
110 void reverseAndFaceSideCreate(const fsCVariableTable& pVars);
111
112 void guiTurnOver(fsBool pFaceUp);
113 void turnOver(fsBool pFaceUp);
114
115 void missMatchSet();
116 fsBool missMatchRevealed();
117 fsBool missMatchRevealing();
118 fsBool allMyMatchesRevealed();
119 void allMyMatchesSetAsMatched();
120 fsS32 revealedCount() const;
121
122 void select();
123
124 void transitionOut();
125 void transitionIn();
126 void shuffle();
127 void turnFaceDown();
128 void matchedSet();
129 void mismatchedSet();
130
131 static const fsStr mBackFilename;
132 static const fsS32 mTransitionTime;
133 fsS32 mIndex;
134
135 fsS32 mState;
136 fsS32 mCountdownMs;
137 std::shared_ptr<fsCBrush> mReverseSide;
138 std::shared_ptr<fsCBrush> mItemSide;
139
140 fsITrailComponent* mTrailComponent;
141 const fsCUniqueId* mTrailType;
142
143 fsITransformationComponent* mTransformation;
144
146};
147
148#endif
Definition fsCBrush.h:26
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
Definition fsCVariableTable.h:27
Definition fsIComponent.h:26
virtual void initialiseDo()
Definition fsIComponent.h:71
Definition fsITrailComponent.h:24
Definition fsITransformationComponent.h:26
Definition fsStr.h:23
Definition gfCPairsMiniGameLogicComponent.h:20
Definition gfCPairsMinigameComponent.h:26
static fsIComponent * create(fsCEntity *pParent)
Definition gfCPairsMinigameComponent.cpp:585
static const fsCUniqueId mPairsRestoreInputMsg
Definition gfCPairsMinigameComponent.h:33
static const fsCUniqueId mTypeId
Definition gfCPairsMinigameComponent.h:31
void onTap(const fsPoint &pTapPos) override
Definition gfCPairsMinigameComponent.cpp:111
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition gfCPairsMinigameComponent.cpp:526
friend class fsCComponentFactory
Definition gfCPairsMinigameComponent.h:27
static const fsStr mEntityPrefix
Definition gfCPairsMinigameComponent.h:34
virtual ~gfCPairsMinigameComponent()
Definition gfCPairsMinigameComponent.cpp:627
void listenersDeregisterDo() override
Definition gfCPairsMinigameComponent.cpp:508
static const fsCUniqueId mPairsFreezeInputMsg
Definition gfCPairsMinigameComponent.h:32
fsBool isActiveGet() const override
Definition gfCPairsMinigameComponent.cpp:612
void skipDo() override
Definition gfCPairsMinigameComponent.cpp:319
void serialiseDo() override
Definition gfCPairsMinigameComponent.cpp:486
fsBool acceptingInputGet() const override
Definition gfCPairsMinigameComponent.cpp:429
void listenersRegisterDo() override
Definition gfCPairsMinigameComponent.cpp:517
fsBool hintDo() override
Definition gfCPairsMinigameComponent.cpp:617
gfCPairsMinigameComponent(fsCEntity *pParent)
Definition gfCPairsMinigameComponent.cpp:595
void deserialiseDo() override
Definition gfCPairsMinigameComponent.cpp:492
void gameLogicSet(gfCPairsMiniGameLogicComponent *const pParentLogic)
Definition gfCPairsMinigameComponent.cpp:580
std::vector< gfCPairsMinigameComponent * > matchingSiblingsGet() const
Definition gfCPairsMinigameComponent.cpp:37
void updateDo(fsS32 pDeltaMs) override
Definition gfCPairsMinigameComponent.cpp:434
fsBool isHintableGet() const override
Definition gfCPairsMinigameComponent.cpp:607
fsBool selected() const
Definition gfCPairsMinigameComponent.cpp:32
gfIMinigameComponent(fsCEntity *pParent, fsBool pHandleTaps, fsBool pHandleDragEvent, fsBool pHandlePinchEvents)
Definition gfIMinigameComponent.cpp:161
Definition gfIMinigameHintable.h:16
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsIMessageDispatcher.h:32
Definition fsPoint.h:17
gfCPairsMinigameComponent *const mPairsComp
Definition gfCPairsMinigameComponent.h:49
sPairsEventMsgParam(gfCPairsMinigameComponent *pPairsComp)
Definition gfCPairsMinigameComponent.h:48