Fission FSN
Loading...
Searching...
No Matches
gfCSimpleCoreMain.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsCHogCoreMain.h
4*
5* Purpose: HOG specific Main. Initialises HOG factories etc.
6*
7*********************************************************************/
8
9#ifndef gfCSimpleCoreMainhdr
10#define gfCSimpleCoreMainhdr
11
12#include <memory>
13
14#include <fsCore/fsStr.h>
16
19
21{
22public:
23
24 void abort(const fsStr& pNextLevelName);
25
26 static void create();
28
29 // Extension point for a consuming project (e.g. torsion) to merge in its
30 // own component/entity factories without gfHogCore needing to know about it.
31 static void extraComponentFactoryProviderSet(std::shared_ptr<fsCComponentFactory> (*pProvider)());
32 static void extraEntityFactoryProviderSet(std::shared_ptr<fsCEntityFactory> (*pProvider)());
33
34 virtual ~gfCSimpleCoreMain();
35
36 void runningOrderCreate() override;
37 void runningOrderReplace(const std::vector<fsStr> pNewOrder) override;
38
39protected:
40
41 void stateSaveDo() override;
42
43 void profileManagerCreateDo() override;
44
45 void factoriesCreateDo() override;
46
47 void messageDispatchersCreateDo() override;
48 void messageDispatchersDestroyDo() override;
49 void nextLocationInitialiseDo(const fsStr& pLevelName) override;
50
51 void preInitialiseDo() override;
52 void postInitialiseDo() override;
53 void postUninitialiseDo() override;
54
56
57 void initialiseDo() override;
58 void preUninitialiseDo() override;
59
60 void updateDo(fsS32 pDeltaMs) override;
61 void uninitialiseDo() override;
62
64
65private:
66
67 void hogSpecificComponentsRegister();
68};
69
70#endif
Definition fsCComponentFactory.h:26
Definition fsCEntityFactory.h:25
fsILevelBasedAppCoreMain()
Definition fsILevelBasedAppCoreMain.cpp:342
Definition fsStr.h:23
void runningOrderCreate() override
Definition gfCSimpleCoreMain.cpp:187
void preInitialiseDo() override
Definition gfCSimpleCoreMain.cpp:310
static gfCSimpleCoreMain * instanceGet()
Definition gfCSimpleCoreMain.cpp:360
void stateSaveDo() override
Definition gfCSimpleCoreMain.cpp:166
void initialiseDo() override
Definition gfCSimpleCoreMain.cpp:299
void nextLocationInitialiseDo(const fsStr &pLevelName) override
Definition gfCSimpleCoreMain.cpp:223
void runningOrderReplace(const std::vector< fsStr > pNewOrder) override
Definition gfCSimpleCoreMain.cpp:182
void messageDispatchersDestroyDo() override
Definition gfCSimpleCoreMain.cpp:343
static void extraComponentFactoryProviderSet(std::shared_ptr< fsCComponentFactory >(*pProvider)())
Definition gfCSimpleCoreMain.cpp:52
void messageDispatchersCreateDo() override
Definition gfCSimpleCoreMain.cpp:338
void postUninitialiseDo() override
Definition gfCSimpleCoreMain.cpp:197
void abort(const fsStr &pNextLevelName)
Definition gfCSimpleCoreMain.cpp:209
void factoriesCreateDo() override
Definition gfCSimpleCoreMain.cpp:248
gfCSimpleCoreMain()
Definition gfCSimpleCoreMain.cpp:365
void postInitialiseDo() override
Definition gfCSimpleCoreMain.cpp:203
virtual void gameSpecificComponentsRegister()
Definition gfCSimpleCoreMain.h:55
void preUninitialiseDo() override
Definition gfCSimpleCoreMain.cpp:317
static void create()
Definition gfCSimpleCoreMain.cpp:348
static void extraEntityFactoryProviderSet(std::shared_ptr< fsCEntityFactory >(*pProvider)())
Definition gfCSimpleCoreMain.cpp:57
void updateDo(fsS32 pDeltaMs) override
Definition gfCSimpleCoreMain.cpp:215
virtual ~gfCSimpleCoreMain()
Definition gfCSimpleCoreMain.cpp:370
void uninitialiseDo() override
Definition gfCSimpleCoreMain.cpp:328
void profileManagerCreateDo() override
Definition gfCSimpleCoreMain.cpp:177
int fsS32
Definition fsBaseTypes.h:20