Potato Engine
Toggle main menu visibility
Loading...
Searching...
No Matches
GameInstance.cpp
Go to the documentation of this file.
1
2
3
#include "
Game/World.hpp
"
4
#include "
Debug/Debug.hpp
"
5
6
#include "
GameInstance.hpp
"
7
8
[[maybe_unused]] GameInstance*
GameInstance::get
() {
9
// constructed on first call
10
static
GameInstance instance;
11
12
return
&instance;
13
}
14
15
GameInstance::GameInstance() {
16
LOG_DEFAULT
(LogType::VITAL,
"GameInstance constructed"
);
17
18
_isMainTickRunning
=
false
;
19
FRAMES_PER_SECOND
= 24.f;
20
MS_REPEAT_THRESHOLD
= 250;
21
22
world =
new
World
();
23
24
if
(__DEFAULT_INSTANTIATORS::get_PlayerController() ==
nullptr
) {
25
LOG_DEFAULT
(LogType::ERROR,
"No PlayerController default instantiator on GameInstance"
);
26
}
else
{
27
ActivePlayerController = __DEFAULT_INSTANTIATORS::get_PlayerController()();
28
}
29
30
if
(__DEFAULT_INSTANTIATORS::get_Player() ==
nullptr
) {
31
LOG_DEFAULT
(LogType::ERROR,
"No Player default instantiator on GameInstance"
);
32
}
else
{
33
Player* p = __DEFAULT_INSTANTIATORS::get_Player()();
34
world->AddtoPool(p);
35
ActivePlayerController->AssignPlayer(p);
36
}
37
}
38
39
void
GameInstance::RequestShutdown
() {
40
_isMainTickRunning
=
false
;
41
}
42
43
void
GameInstance::LoadSubobjects() {
44
ActivePlayerController->Initialize();
45
ActivePlayerController->
SetupInputBindings
();
46
}
47
48
World
*
GameInstance::GetWorld
()
const
{
return
world; }
49
PlayerController
*
GameInstance::GetPlayerController
()
const
{
return
ActivePlayerController; }
50
51
void
GameInstance::Resolve() noexcept {
52
LOG_DEFAULT
(LogType::VITAL,
"Resolving GameInstance"
);
53
54
delete
ActivePlayerController;
55
delete
world;
56
}
57
58
GameInstance::~GameInstance() {
59
LOG_DEFAULT
(LogType::VITAL,
"GameInstance destroying"
);
60
}
LOG_DEFAULT
Logger LOG_DEFAULT
Default log object.
Definition
Debug.cpp:9
Debug.hpp
GameInstance.hpp
World.hpp
GameInstance::MS_REPEAT_THRESHOLD
int MS_REPEAT_THRESHOLD
Threshold to wait for input completion in milliseconds.
Definition
GameInstance.hpp:79
GameInstance::_isMainTickRunning
bool _isMainTickRunning
Definition
GameInstance.hpp:63
GameInstance::get
static GameInstance * get()
Gets singleton instance.
Definition
GameInstance.cpp:8
GameInstance::GetPlayerController
PlayerController * GetPlayerController() const
Gets player controller object.
Definition
GameInstance.cpp:49
GameInstance::FRAMES_PER_SECOND
float FRAMES_PER_SECOND
Global FPS constant for screen refresh.
Definition
GameInstance.hpp:68
GameInstance::RequestShutdown
void RequestShutdown()
Requests to queue engine shutdown.
Definition
GameInstance.cpp:39
GameInstance::GetWorld
World * GetWorld() const
Gets world object.
Definition
GameInstance.cpp:48
PlayerController
Main managing class for the player, controlling interactions and non-local behavior.
Definition
PlayerController.hpp:13
PlayerController::SetupInputBindings
virtual void SetupInputBindings()
Called automatically to bind player inputs to InputController.
Definition
PlayerController.cpp:70
World
Local level managing gameplay interactions.
Definition
World.hpp:19
Game
Control
GameInstance.cpp
Generated by
1.17.0