Fission FSN
Loading...
Searching...
No Matches
gfCHogCoreMain.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 gfCHogCoreMainhdr
10#define gfCHogCoreMainhdr
11
12#include <memory>
13
14#include <fsCore/fsStr.h>
16
19
21{
22public:
23
24 void abort(const fsStr& pNextLevelName);
25
27
28 static void create();
30
31 // Extension point for a consuming project (e.g. torsion) to merge in its
32 // own component/entity factories without gfHogCore needing to know about it.
33 static void extraComponentFactoryProviderSet(std::shared_ptr<fsCComponentFactory> (*pProvider)());
34 static void extraEntityFactoryProviderSet(std::shared_ptr<fsCEntityFactory> (*pProvider)());
35
36 virtual ~gfCHogCoreMain();
37
38 void runningOrderCreate() override;
39 void runningOrderReplace(const std::vector<fsStr> pNewOrder) override;
40
41protected:
42
43 void stateSaveDo() override;
44
45 void profileManagerCreateDo() override;
46
47 void factoriesCreateDo() override;
48
49 void messageDispatchersCreateDo() override;
50 void messageDispatchersDestroyDo() override;
51 void nextLocationInitialiseDo(const fsStr& pLevelName) override;
52
53 void debugGuiCreate() override;
54
55 void preInitialiseDo() override;
56 void postInitialiseDo() override;
57 void postUninitialiseDo() override;
58
60 {
61 }
62
63 void initialiseDo() override;
64 void preUninitialiseDo() override;
65
66 void updateDo(fsS32 pDeltaMs) override;
67 void uninitialiseDo() override;
68
70
71private:
72
73 void hogSpecificComponentsRegister();
74};
75
76#endif
Definition fsCComponentFactory.h:26
Definition fsCEntityFactory.h:25
Definition fsCEntity.h:39
fsILevelBasedAppCoreMain()
Definition fsILevelBasedAppCoreMain.cpp:342
Definition fsStr.h:23
void factoriesCreateDo() override
Definition gfCHogCoreMain.cpp:312
void postUninitialiseDo() override
Definition gfCHogCoreMain.cpp:209
void runningOrderCreate() override
Definition gfCHogCoreMain.cpp:192
void postInitialiseDo() override
Definition gfCHogCoreMain.cpp:215
virtual ~gfCHogCoreMain()
Definition gfCHogCoreMain.cpp:464
void runningOrderReplace(const std::vector< fsStr > pNewOrder) override
Definition gfCHogCoreMain.cpp:187
void messageDispatchersDestroyDo() override
Definition gfCHogCoreMain.cpp:437
void stateSaveDo() override
Definition gfCHogCoreMain.cpp:171
void updateDo(fsS32 pDeltaMs) override
Definition gfCHogCoreMain.cpp:227
void initialiseDo() override
Definition gfCHogCoreMain.cpp:391
virtual void gameSpecificComponentsRegister()
Definition gfCHogCoreMain.h:59
void preInitialiseDo() override
Definition gfCHogCoreMain.cpp:404
fsCEntity * mainMenuGuiCreate()
Definition gfCHogCoreMain.cpp:235
static void extraEntityFactoryProviderSet(std::shared_ptr< fsCEntityFactory >(*pProvider)())
Definition gfCHogCoreMain.cpp:62
void nextLocationInitialiseDo(const fsStr &pLevelName) override
Definition gfCHogCoreMain.cpp:261
void profileManagerCreateDo() override
Definition gfCHogCoreMain.cpp:182
gfCHogCoreMain()
Definition gfCHogCoreMain.cpp:459
void messageDispatchersCreateDo() override
Definition gfCHogCoreMain.cpp:432
static void extraComponentFactoryProviderSet(std::shared_ptr< fsCComponentFactory >(*pProvider)())
Definition gfCHogCoreMain.cpp:57
static void create()
Definition gfCHogCoreMain.cpp:442
void preUninitialiseDo() override
Definition gfCHogCoreMain.cpp:411
static gfCHogCoreMain * instanceGet()
Definition gfCHogCoreMain.cpp:454
void uninitialiseDo() override
Definition gfCHogCoreMain.cpp:422
void abort(const fsStr &pNextLevelName)
Definition gfCHogCoreMain.cpp:221
void debugGuiCreate() override
Definition gfCHogCoreMain.cpp:202
int fsS32
Definition fsBaseTypes.h:20