Fission FSN
Loading...
Searching...
No Matches
gfCLevelSequencerMapComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: gfCLevelSequencerMapComponent.h
4*
5* Purpose: Map to navigate to any level
6*
7*********************************************************************/
8
9#ifndef gfCLevelSequencerMapComponenthdr
10#define gfCLevelSequencerMapComponenthdr
11
14
16
18
19
21{
22 friend class fsCComponentFactory;
24
25public:
26
27 static const fsCUniqueId mTypeId;
28
29 static fsStr const levelListNameGet();
30 static fsStr const endLevelNameGet();
31 static fsStr const demoEndNameGet();
32 static fsBool lastLevel(fsStr pLevel);
33 static fsStr pureLevelNameGet(fsStr const& pLevelName);
34
35 void levelRollOverSet(fsCEntity* pEnt);
36
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 deserialiseDo() override;
47
48 void updateDo(fsS32 pDeltaMs) override;
49 void renderDo() override;
50
51 gfCLevelSequencerLevelComponent* const levelSequencerLevelCreate(const fsStr& pPath, const fsStr& pName) override;
52
53 static fsIComponent* create(fsCEntity* pParent);
55
56 void initialiseFromVariableTableDo(const fsCVariableTable& pVars) override;
57
58private:
59
60 struct fsCLevelSequenceMapButtonAction : public fsCRollOverButtonComponent::fsCRollOverAction
61 {
62 fsCLevelSequenceMapButtonAction(gfCLevelSequencerMapComponent* pParent, const fsPoint& pDrag) :
63 mScale(1, 1),
64 mDrag(pDrag),
65 mParent(pParent)
66 {
67 }
68
69 void update() override;
70 void start(const fsPoint& pMousePos) override;
71 void end(const fsPoint& pMousePos) override;
72 void mouseDown(const fsPoint& pMousePos) override;
73 void mouseUp(const fsPoint& pMousePos) override;
74
75 fsPoint mScale;
76 fsPoint mDrag;
77 fsPoint mDragPos;
79 };
80
81 void init();
82
83 static fsBool legacyMapLevelCheck();
84
85 void clearMarkers();
86 gfCTutorialSequencerComponent* const tutorialComponentGet() const;
87
88 void typedCharacterHandle(fsS32 pTypedChar);
89 fsStr targetLevelGet();
90
91 fsBool scrollButtonsActive() const;
92
93 void deferredTutorialsActivate();
94 void scrollTutorialActivate();
95 void fastScrollTutorialActivate();
96
97 fsBool hitTest(fsCEntity* pParent, const fsPoint& pPos) const;
98
99 void buttonsReInit();
100
101 fsS32 scrollZoneWidth();
102
103 void layoutParametersInitialise(const fsCVariableTable& pVars);
104
105 void subSceneEntityCreate();
106 void currentLeveleSet();
107 void currentLeveleLocate();
108 void currentLevelProgressShow();
109
110 void levelsTrimToVisited();
111 void levelsFilterMiniGamesOut();
112 void levelIconsPageVisibletySet();
113 void levelIconsCreate();
114 void rollOverLevelEntityCreate();
115
116 fsBool mapLevelIcon(const fsStr& pLevelName) const;
117
118 static const fsStr mProgressLayerPrefix;
119 static const fsStr mPositionLayerPrefix;
120
121 fsPoint mFirstLevelIconPos;
122 fsPoint mLevelIconPosIncrement;
123 fsS32 mCurrLevelIcon;
124
125 fsStr mLevelIconLayoutFileName;
126
127 fsCEntity* mSubSceneEnt;
128
129 fsS32 mElapsedTime;
130 fsS32 mMaxLevels;
131
132 fsCEntity* mRollOverLevelEntity;
133
134 std::vector<fsStr> mRawSequence;
135};
136
137#endif
Definition fsCEntity.h:39
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
gfCLevelSequencerComponent()
Definition gfCLevelSequencerComponent.cpp:167
Definition gfCLevelSequencerLevelComponent.h:19
Definition gfCLevelSequencerMapComponent.h:21
void listenersRegisterDo() override
Definition gfCLevelSequencerMapComponent.cpp:217
void updateDo(fsS32 pDeltaMs) override
Definition gfCLevelSequencerMapComponent.cpp:190
friend class gfIAutoTestLevelUserInputComponent
Definition gfCLevelSequencerMapComponent.h:23
static fsStr const demoEndNameGet()
Definition gfCLevelSequencerMapComponent.cpp:77
friend class fsCComponentFactory
Definition gfCLevelSequencerMapComponent.h:22
gfCLevelSequencerMapComponent(fsCEntity *pParent)
Definition gfCLevelSequencerMapComponent.cpp:624
void deserialiseDo() override
Definition gfCLevelSequencerMapComponent.cpp:142
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition gfCLevelSequencerMapComponent.cpp:235
void listenersDeregisterDo() override
Definition gfCLevelSequencerMapComponent.cpp:226
void renderDo() override
Definition gfCLevelSequencerMapComponent.cpp:37
static fsIComponent * create(fsCEntity *pParent)
Definition gfCLevelSequencerMapComponent.cpp:619
gfCLevelSequencerLevelComponent *const levelSequencerLevelCreate(const fsStr &pPath, const fsStr &pName) override
Definition gfCLevelSequencerMapComponent.cpp:375
static fsStr pureLevelNameGet(fsStr const &pLevelName)
Definition gfCLevelSequencerMapComponent.cpp:82
virtual ~gfCLevelSequencerMapComponent()
Definition gfCLevelSequencerMapComponent.cpp:650
static fsStr const levelListNameGet()
Definition gfCLevelSequencerMapComponent.cpp:50
void levelRollOverSet(fsCEntity *pEnt)
Definition gfCLevelSequencerMapComponent.cpp:129
static fsStr const endLevelNameGet()
Definition gfCLevelSequencerMapComponent.cpp:72
static const fsCUniqueId mTypeId
Definition gfCLevelSequencerMapComponent.h:27
static fsBool lastLevel(fsStr pLevel)
Definition gfCLevelSequencerMapComponent.cpp:98
void initialiseFromVariableTableDo(const fsCVariableTable &pVars) override
Definition gfCLevelSequencerMapComponent.cpp:571
Definition gfCTutorialSequencerComponent.h:23
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsCRollOverButtonComponent.h:39
Definition fsIMessageDispatcher.h:32
Definition fsPoint.h:17