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 // True when the running order came from a consolidated runningOrder.gui.
68 // Lets a level-discovery consumer (e.g. gfCLevelSequencerComponent) know
69 // per-scene config no longer requires <name>.txt to exist on disk.
71
72 virtual void runningOrderCreate() = 0;
73 virtual void runningOrderReplace(const std::vector<fsStr> pNewOrder) = 0;
74
75protected:
76
78
79 void postInitialiseDo() override;
80
82
83 virtual void nextLocationInitialiseDo(const fsStr& pLevelName)
84 {
85 }
86
89
90 void chaptersLocate();
91
95
96private:
97
98 void cachesFlush();
99
100 void currentSubSceneBackgroundVisiblityToggle(fsBool pRender);
101
102 void levelSettingsLoad();
103
104 static const fsStr mScenesFolder;
105 static const fsStr mChaptersFolder;
106
107 std::unique_ptr<fsCVariableTable> mLevelSettings;
108
109 std::vector<fsISubSceneComponent*> mSubScenes;
110
111 std::vector<fsStr> mChapters;
112};
113
114#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:92
std::vector< fsStr > chaptersGet() const
Definition fsILevelBasedAppCoreMain.cpp:98
void newGameStart()
Definition fsILevelBasedAppCoreMain.cpp:263
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:288
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:93
void gameContinue()
Definition fsILevelBasedAppCoreMain.cpp:273
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:283
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
fsBool runningOrderGuiModeGet() const
Definition fsILevelBasedAppCoreMain.cpp:248
const fsStr & firstLocationGet() const
Definition fsILevelBasedAppCoreMain.cpp:253
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:83
fsILevelBasedAppCoreMain()
Definition fsILevelBasedAppCoreMain.cpp:347
void subScenesStore()
Definition fsILevelBasedAppCoreMain.cpp:142
void nextLocationInitialise()
Definition fsILevelBasedAppCoreMain.cpp:311
void chapterEnable()
Definition fsILevelBasedAppCoreMain.cpp:66
void postInitialiseDo() override
Definition fsILevelBasedAppCoreMain.cpp:341
virtual ~fsILevelBasedAppCoreMain()
Definition fsILevelBasedAppCoreMain.cpp:354
static fsStr scenesFolderGet()
Definition fsILevelBasedAppCoreMain.cpp:103
void levelCompleteSet()
Definition fsILevelBasedAppCoreMain.cpp:258
virtual void runningOrderReplace(const std::vector< fsStr > pNewOrder)=0
fsStr mCurrentChapter
Definition fsILevelBasedAppCoreMain.h:94
Definition fsIRunningOrder.h:21
Definition fsISubSceneComponent.h:20
Definition fsStr.h:23
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20