Fission FSN
Loading...
Searching...
No Matches
gfCTutorialSequencerComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* Created: 14/7/2014 9:20
4*
5* File: gfCTutorialSequencerComponent.h
6*
7* Author: Martin P. King
8*
9* Purpose: Sequence the lessons and steal input
10*
11*********************************************************************/
12
13#ifndef gfCTutorialSequencerComponenthdr
14#define gfCTutorialSequencerComponenthdr
15
17
18struct fsPoint;
19class gfCHotComponent;
20
21
23{
24 friend class fsCComponentFactory;
25
26public:
27
28 fsBool tutorialComplete(fsCEntity* pAssociatedEnt, const fsPoint& pPos);
29
30 // While this holds, messageProcessDo() consumes every pointer message, so
31 // nothing else in the scene can be tapped or dragged.
32 fsBool inputStealingGet() const { return !mTutorialEntities.empty(); }
34 void bringToForeground();
35
36 static const fsCUniqueId mTypeId;
38
39protected:
40
41 void listenersRegisterDo() override;
42 void listenersDeregisterDo() override;
43 fsBool messageProcessDo(const fsCUniqueId& pMessageType,
44 const fsIMessageDispatcher::sMessageParameters& pParam) override;
45
46 void updateDo(fsS32 pDeltaMs) override;
47 void postLoadDo() override;
48
49 static fsIComponent* create(fsCEntity* pParent);
51
52private:
53
54 void tutorialsForceCollect();
55 gfCHotComponent* const hotComponentGet(fsCEntity* pAssociatedEntity) const;
56
57 void deferredTutorialsActivate();
58
59 fsCEntity* const tutorialDialogueCreate(const fsStr& pTutKey) const;
60 void tutorialDialogueDestroy() const;
61
62 static fsStr animFilenameGet(fsCEntity* pEnt);
63 static fsStr particleFilenameGet(fsCEntity* pEnt);
64
65 void tutorialEntitiesClearDeferred();
66 void tutorialEntitiesClearCollected();
67 static fsBool draggableComponent(fsCEntity* pEnt);
68
69 void advance();
70 void nextTutorialActivate();
71
72 void tutorialImageSet(fsCEntity* pDialogueEnt, fsCEntity* pEnt) const;
73 fsCEntity* const tutorialTextSet(fsCEntity* pEnt) const;
74 static fsStr associatedEntityNameGet(fsCEntity* pEnt);
75
76 fsBool targetEntityHitCheck(fsCEntity* pEnt, const fsPoint& pPos);
77 fsBool nextTutorialAnimationLoad(fsCEntity* pDialogEnt, fsCEntity* pEnt);
78 fsBool nextTutorialParticleEffectLoad(fsCEntity* pDialogEnt, fsCEntity* pEnt);
79
80 void tutorialEntitiesActivate();
81 void tutorialEntitiesCollate();
82
83 std::vector<fsCEntity*> mTutorialEntities;
84 std::vector<fsCEntity*> mDeferredTutorialEntities;
85};
86
87#endif
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
fsIMessageListenerComponent(fsCEntity *pParent)
Definition fsIMessageListenerComponent.cpp:9
Definition fsStr.h:23
Definition gfCHotComponent.h:19
virtual ~gfCTutorialSequencerComponent()
Definition gfCTutorialSequencerComponent.cpp:505
friend class fsCComponentFactory
Definition gfCTutorialSequencerComponent.h:24
static const fsCUniqueId mTypeId
Definition gfCTutorialSequencerComponent.h:36
void bringToForeground()
Definition gfCTutorialSequencerComponent.cpp:89
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition gfCTutorialSequencerComponent.cpp:217
static fsIComponent * create(fsCEntity *pParent)
Definition gfCTutorialSequencerComponent.cpp:488
void listenersRegisterDo() override
Definition gfCTutorialSequencerComponent.cpp:119
void postLoadDo() override
Definition gfCTutorialSequencerComponent.cpp:107
void listenersDeregisterDo() override
Definition gfCTutorialSequencerComponent.cpp:129
fsBool inputStealingGet() const
Definition gfCTutorialSequencerComponent.h:32
void deferredTutorialEntityEnable(fsCEntity *pEnt)
Definition gfCTutorialSequencerComponent.cpp:33
gfCTutorialSequencerComponent(fsCEntity *pParent)
Definition gfCTutorialSequencerComponent.cpp:500
fsBool tutorialComplete(fsCEntity *pAssociatedEnt, const fsPoint &pPos)
Definition gfCTutorialSequencerComponent.cpp:177
void updateDo(fsS32 pDeltaMs) override
Definition gfCTutorialSequencerComponent.cpp:84
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsIMessageDispatcher.h:32
Definition fsPoint.h:17