R-Type
R-Type project
GameManager.hpp
1
#pragma once
2
3
#include "KapEngine.hpp"
4
#include "MenuManager.hpp"
5
6
#include "Player/PlayerController.hpp"
7
#include "Animations/SpriteAnimation.hpp"
8
#include "Network/RtypeNetworkManager.hpp"
9
10
namespace
RType {
11
class
GameManager
{
12
static
GameManager
*instance;
13
14
private
:
15
KapEngine::KEngine
*engine;
16
17
MenuManager
menuManager;
18
19
std::shared_ptr<RtypeNetworkManager> networkManager;
20
21
bool
displaySplashScreens =
true
;
22
bool
debugMode =
false
;
23
24
public
:
25
explicit
GameManager
(
KapEngine::KEngine
*_engine,
bool
splashScreens =
true
);
26
~
GameManager
() =
default
;
27
28
void
launchGame();
29
30
void
launchServer();
31
32
private
:
33
void
registerPrefabs();
34
35
void
registerMenus();
36
37
void
initSplashScreens();
38
39
void
initSinglePlayer();
40
41
void
initMultiPlayer(
bool
isServer);
42
43
void
initEndScene();
44
45
void
initAxis();
46
47
public
:
48
void
startLocalMultiPlayer(
const
std::string &ip,
const
std::string &port);
49
50
void
startCampaign(
const
std::string &pathMap);
51
52
bool
hasDebugMode()
const
;
53
54
void
toggleDebugMode();
55
56
MenuManager
&getMenuManager();
57
58
std::shared_ptr<RtypeNetworkManager> &getNetworkManager();
59
60
static
GameManager
*getInstance() {
return
instance; }
61
};
62
}
// namespace RType
RType::MenuManager
Definition:
MenuManager.hpp:7
RType::GameManager
Definition:
GameManager.hpp:11
KapEngine::KEngine
Class of engine.
Definition:
Engine.hpp:60
Assets
Components
GameManager.hpp
Generated by
1.8.17