Fission FSN
Loading...
Searching...
No Matches
gfCTutorialProgressionComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: gfCTutorialProgressionComponent.h
4*
5* Purpose: Keep generating particles to show the targeted
6* tutorial entity
7*
8*********************************************************************/
9
10#ifndef gfCTutorialProgressionComponenthdr
11#define gfCTutorialProgressionComponenthdr
12
14
15struct fsPoint;
16class fsCEntity;
17class fsCResourceName;
18
19
21{
22 friend class fsCComponentFactory;
23
24public:
25
26 fsBool clickOnMe(fsCEntity* pTarget) const;
27
28 static const fsCUniqueId mTypeId;
30
31protected:
32
33 void deserialiseDo() override;
34 void serialiseDo() override;
35 void listenersRegisterDo() override;
36 void listenersDeregisterDo() override;
37 fsBool messageProcessDo(const fsCUniqueId& pMessageType,
38 const fsIMessageDispatcher::sMessageParameters& pParam) override;
39
40 void updateDo(fsS32 pDeltaMs) override;
41
42 static fsIComponent* create(fsCEntity* pParent);
44
45private:
46
47 struct fsSTutorial
48 {
49 enum eType
50 {
51 eOBJECT,
52 eBUTTON
53 };
54
55 fsSTutorial(const fsStr& pCommand, const fsStr& pHint);
56 fsStr mHint;
57 fsStr mTargetEntityName;
58 eType mType;
59 fsBool mRun;
60 };
61
62 void clearTutorial(const fsCEntity* pEntity);
63
64 fsCEntity* const itemTypeAlwaysCollectable(const fsStr& pItemType) const;
65
66 void cleanUp();
67 void particleEffectCreate(fsCEntity* pTutorialEntity, fsCEntity* pTutorialDialogueEntity);
68 void nextTutorialActivate();
69 fsCEntity* const targetEntityGet();
70
71 fsCEntity* const tutorialDialogueCreate() const;
72 fsCEntity* const tutorialTextSet(fsStr pTutorialHint) const;
73 void tutorialDialogueDestroy() const;
74
75 std::vector<fsSTutorial> mCommands;
76 fsS32 mCurrentCommand;
77
78 fsBool mCommandActive;
79 fsS32 mRunningTime;
80
81 fsCEntity* mTargetEntity;
82};
83
84#endif
Definition fsCEntity.h:39
Definition fsCResourceName.h:32
Definition fsCUniqueId.h:21
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
fsIMessageListenerComponent(fsCEntity *pParent)
Definition fsIMessageListenerComponent.cpp:9
Definition fsStr.h:23
void listenersRegisterDo() override
Definition gfCTutorialProgressionComponent.cpp:52
friend class fsCComponentFactory
Definition gfCTutorialProgressionComponent.h:22
void deserialiseDo() override
Definition gfCTutorialProgressionComponent.cpp:37
void updateDo(fsS32 pDeltaMs) override
Definition gfCTutorialProgressionComponent.cpp:294
static fsIComponent * create(fsCEntity *pParent)
Definition gfCTutorialProgressionComponent.cpp:277
virtual ~gfCTutorialProgressionComponent()
Definition gfCTutorialProgressionComponent.cpp:321
gfCTutorialProgressionComponent(fsCEntity *pParent)
Definition gfCTutorialProgressionComponent.cpp:312
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition gfCTutorialProgressionComponent.cpp:92
void serialiseDo() override
Definition gfCTutorialProgressionComponent.cpp:26
static const fsCUniqueId mTypeId
Definition gfCTutorialProgressionComponent.h:28
void listenersDeregisterDo() override
Definition gfCTutorialProgressionComponent.cpp:61
fsBool clickOnMe(fsCEntity *pTarget) const
Definition gfCTutorialProgressionComponent.cpp:47
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsIMessageDispatcher.h:32
Definition fsPoint.h:17