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);
30 void bringToForeground();
31
32 static const fsCUniqueId mTypeId;
34
35protected:
36
37 void listenersRegisterDo() override;
38 void listenersDeregisterDo() override;
39 fsBool messageProcessDo(const fsCUniqueId& pMessageType,
40 const fsIMessageDispatcher::sMessageParameters& pParam) override;
41
42 void updateDo(fsS32 pDeltaMs) override;
43 void postLoadDo() override;
44
45 static fsIComponent* create(fsCEntity* pParent);
47
48private:
49
50 void tutorialsForceCollect();
51 gfCHotComponent* const hotComponentGet(fsCEntity* pAssociatedEntity) const;
52
53 void deferredTutorialsActivate();
54
55 fsCEntity* const tutorialDialogueCreate(const fsStr& pTutKey) const;
56 void tutorialDialogueDestroy() const;
57
58 static fsStr animFilenameGet(fsCEntity* pEnt);
59 static fsStr particleFilenameGet(fsCEntity* pEnt);
60
61 void tutorialEntitiesClearDeferred();
62 void tutorialEntitiesClearCollected();
63 static fsBool draggableComponent(fsCEntity* pEnt);
64
65 void advance();
66 void nextTutorialActivate();
67
68 void tutorialImageSet(fsCEntity* pDialogueEnt, fsCEntity* pEnt) const;
69 fsCEntity* const tutorialTextSet(fsCEntity* pEnt) const;
70 static fsStr associatedEntityNameGet(fsCEntity* pEnt);
71
72 fsBool targetEntityHitCheck(fsCEntity* pEnt, const fsPoint& pPos);
73 fsBool nextTutorialAnimationLoad(fsCEntity* pDialogEnt, fsCEntity* pEnt);
74 fsBool nextTutorialParticleEffectLoad(fsCEntity* pDialogEnt, fsCEntity* pEnt);
75
76 void tutorialEntitiesActivate();
77 void tutorialEntitiesCollate();
78
79 std::vector<fsCEntity*> mTutorialEntities;
80 std::vector<fsCEntity*> mDeferredTutorialEntities;
81};
82
83#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:32
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
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