Fission FSN
Loading...
Searching...
No Matches
fsILevelBasedAppCoreMain.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsILevelBasedAppCoreMain.h
4*
5* Purpose: Interface for level based apps
6*
7*********************************************************************/
8
9#ifndef fsILevelBasedAppCoreMainhdr
10#define fsILevelBasedAppCoreMainhdr
11
12#include <memory>
13#include <vector>
14
17
18class fsIRunningOrder;
21
23{
25
26public:
27
31 void chapterEnable();
32 static void chapterLoaderEnable();
33
34 void chapterClear();
35 static fsStr chapterFolderGet();
36 std::vector<fsStr> chaptersGet() const;
37
38 static fsStr scenesFolderGet();
39 fsStr sceneFolderGet() const;
40
41 static fsBool collectorsEditionContent(const fsStr& pLevelName);
42
44
45 fsS32 levelCountGet() const;
46 fsS32 currLevelPosGet() const;
47
49 void subScenesStore();
50
52
53 void quitToMenuSet();
54
56
57 void levelCompleteSet();
58 void gameSingleLevel();
59 void gameContinue();
60 void newGameStart();
61 void nextLocationSet(const fsStr& pNextLevelName);
62 fsStr nextLocationGet() const;
63 fsStr nextLocationGet(const fsStr& pCurrentLocation) const;
64 const fsStr& firstLocationGet() const;
65
66 const std::vector<fsStr>& rawSequenceGet() const;
67
68 virtual void runningOrderCreate() = 0;
69 virtual void runningOrderReplace(const std::vector<fsStr> pNewOrder) = 0;
70
71protected:
72
74
75 void postInitialiseDo() override;
76
78
79 virtual void nextLocationInitialiseDo(const fsStr& pLevelName)
80 {
81 }
82
85
86 void chaptersLocate();
87
91
92private:
93
94 void cachesFlush();
95
96 void currentSubSceneBackgroundVisiblityToggle(fsBool pRender);
97
98 void levelSettingsLoad();
99
100 static const fsStr mScenesFolder;
101 static const fsStr mChaptersFolder;
102
103 std::unique_ptr<fsCVariableTable> mLevelSettings;
104
105 std::vector<fsISubSceneComponent*> mSubScenes;
106
107 std::vector<fsStr> mChapters;
108};
109
110#endif
fsCAppCoreMain(const fsCAppCoreMain &)=delete
Definition fsCUniqueId.h:21
Definition fsCVariableTable.h:27
virtual void runningOrderCreate()=0
fsStr nextLocationGet() const
Definition fsILevelBasedAppCoreMain.cpp:233
static const fsCUniqueId mLevelInitialisedMsg
Definition fsILevelBasedAppCoreMain.h:28
fsIRunningOrder * mRunningOrder
Definition fsILevelBasedAppCoreMain.h:88
std::vector< fsStr > chaptersGet() const
Definition fsILevelBasedAppCoreMain.cpp:98
void newGameStart()
Definition fsILevelBasedAppCoreMain.cpp:258
const std::vector< fsStr > & rawSequenceGet() const
Definition fsILevelBasedAppCoreMain.cpp:243
fsS32 levelCountGet() const
Definition fsILevelBasedAppCoreMain.cpp:108
static const fsCUniqueId mLevelEntitiesCreatedMsg
Definition fsILevelBasedAppCoreMain.h:29
void nextLocationSet(const fsStr &pNextLevelName)
Definition fsILevelBasedAppCoreMain.cpp:283
static fsStr chapterFolderGet()
Definition fsILevelBasedAppCoreMain.cpp:41
static const fsCUniqueId mLevelPostResetMsg
Definition fsILevelBasedAppCoreMain.h:30
fsISubSceneComponent * currentSubSceneGet() const
Definition fsILevelBasedAppCoreMain.cpp:158
fsS32 currLevelPosGet() const
Definition fsILevelBasedAppCoreMain.cpp:113
fsStr mCurrentLevelName
Definition fsILevelBasedAppCoreMain.h:89
void gameContinue()
Definition fsILevelBasedAppCoreMain.cpp:268
friend class gfCDebugJustCollectablesView
Definition fsILevelBasedAppCoreMain.h:24
void chapterClear()
Definition fsILevelBasedAppCoreMain.cpp:59
fsCVariableTable * levelSettingsGet() const
Definition fsILevelBasedAppCoreMain.cpp:172
static fsBool collectorsEditionContent(const fsStr &pLevelName)
Definition fsILevelBasedAppCoreMain.cpp:118
void gameSingleLevel()
Definition fsILevelBasedAppCoreMain.cpp:278
void quitToMenuSet()
Definition fsILevelBasedAppCoreMain.cpp:203
fsStr currentLevelNameGet() const
Definition fsILevelBasedAppCoreMain.cpp:221
static void chapterLoaderEnable()
Definition fsILevelBasedAppCoreMain.cpp:77
fsBool nextLocationReady() const
Definition fsILevelBasedAppCoreMain.cpp:228
const fsStr & firstLocationGet() const
Definition fsILevelBasedAppCoreMain.cpp:248
fsStr sceneFolderGet() const
Definition fsILevelBasedAppCoreMain.cpp:214
static fsILevelBasedAppCoreMain * instanceGet()
Definition fsILevelBasedAppCoreMain.cpp:209
void chaptersLocate()
Definition fsILevelBasedAppCoreMain.cpp:49
virtual void nextLocationInitialiseDo(const fsStr &pLevelName)
Definition fsILevelBasedAppCoreMain.h:79
fsILevelBasedAppCoreMain()
Definition fsILevelBasedAppCoreMain.cpp:342
void subScenesStore()
Definition fsILevelBasedAppCoreMain.cpp:142
void nextLocationInitialise()
Definition fsILevelBasedAppCoreMain.cpp:306
void chapterEnable()
Definition fsILevelBasedAppCoreMain.cpp:66
void postInitialiseDo() override
Definition fsILevelBasedAppCoreMain.cpp:336
virtual ~fsILevelBasedAppCoreMain()
Definition fsILevelBasedAppCoreMain.cpp:349
static fsStr scenesFolderGet()
Definition fsILevelBasedAppCoreMain.cpp:103
void levelCompleteSet()
Definition fsILevelBasedAppCoreMain.cpp:253
virtual void runningOrderReplace(const std::vector< fsStr > pNewOrder)=0
fsStr mCurrentChapter
Definition fsILevelBasedAppCoreMain.h:90
Definition fsIRunningOrder.h:21
Definition fsISubSceneComponent.h:20
Definition fsStr.h:23
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20