forked from AMarquez94/Atlas-Fate-Between-Light-and-Darkness
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathengine.h
105 lines (96 loc) · 3.87 KB
/
engine.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#pragma once
#include "modules/module_manager.h"
#include "modules/module_render.h"
#include "modules/module_entities.h"
#include "modules/module_ia.h"
#include "modules/system/module_input.h"
#include "modules/system/module_physics.h"
#include "modules/system/module_cameras.h"
#include "modules/system/module_fsm.h"
#include "modules/module_navmeshes.h"
#include "modules/system/module_logic.h"
#include "modules/system/module_sound.h"
#include "modules/system/module_game_console.h"
#include "modules/system/module_gui.h"
#include "modules/system/module_scene_manager.h"
#include "modules/system/module_instancing.h"
#include "modules/system/module_particles.h"
#include "modules/system/module_file.h"
#include "modules/game/module_game_manager.h"
#include "modules/system/module_debug.h"
#include "modules/system/module_lerp.h"
#include "modules/module_animations.h"
class CModuleGameManager;
class CEngine
{
public:
CEngine();
static CEngine& get();
bool start();
bool stop();
void update(float delta);
void render();
// System modules
CModuleManager& getModules() { return _modules; }
CModuleRender& getRender() { return _module_render; }
CModuleIA& getIA() { return _module_ia; }
CModuleAnimations& getAnimations() { return _module_animations; }
CModuleInput& getInput() { return _module_input; }
CModulePhysics& getPhysics() { return _module_physics; }
CModuleCameras& getCameras() { return _module_cameras; }
CModuleEntities& getEntities() { return _module_entities; }
CModuleNavmesh& getNavmeshes() { return _module_navmesh; }
CModuleFSM& getFSM() { return _module_fsm; }
CModuleSound& getSound() { return _module_sound; }
CModuleLogic& getLogic() { return _module_logic; }
CModuleGameConsole& getGameConsole() { return _module_game_console; }
CModuleGUI& getGUI() { return _module_gui; }
CModuleSceneManager& getSceneManager() { return _module_scene_manager; }
CModuleInstancing& getInstancing() { return _module_instancing; }
CModuleLerp& getLerp() { return _module_lerp; }
CModuleParticles& getParticles() { return _module_particles; }
CModuleDebug& getDebug() { return _module_debug; }
CModuleFile& getFile() { return _module_file; }
// Game modules
CModuleGameManager& getGameManager();
private:
CModuleManager _modules;
CModuleRender _module_render;
CModuleEntities _module_entities;
CModulePhysics _module_physics;
CModuleIA _module_ia;
CModuleAnimations _module_animations;
CModuleInput _module_input;
CModuleCameras _module_cameras;
CModuleFSM _module_fsm;
CModuleSound _module_sound;
CModuleNavmesh _module_navmesh;
CModuleLogic _module_logic;
CModuleGameConsole _module_game_console;
CModuleGUI _module_gui;
CModuleSceneManager _module_scene_manager;
CModuleLerp _module_lerp;
CModuleInstancing _module_instancing;
CModuleParticles _module_particles;
CModuleDebug _module_debug;
CModuleFile _module_file;
};
#define Engine CEngine::get()
#define EngineIA CEngine::get().getIA()
#define EngineInput CEngine::get().getInput()
#define EngineRender CEngine::get().getRender()
#define EngineCameras CEngine::get().getCameras()
#define EnginePhysics CEngine::get().getPhysics()
#define EngineEntities CEngine::get().getEntities()
#define EngineNavmeshes CEngine::get().getNavmeshes()
#define EngineLogic CEngine::get().getLogic()
#define EngineParticles CEngine::get().getParticles()
#define EngineConsole CEngine::get().getGameConsole()
#define EngineSound CEngine::get().getSound()
#define EngineGUI CEngine::get().getGUI()
#define EngineScene CEngine::get().getSceneManager()
#define EngineLerp CEngine::get().getLerp()
#define EngineInstancing CEngine::get().getInstancing()
#define EngineDebug CEngine::get().getDebug()
#define EngineAnimations CEngine::get().getAnimations()
#define EngineFiles CEngine::get().getFile()