Potato Engine
Toggle main menu visibility
Loading...
Searching...
No Matches
PotatoEngine.hpp
Go to the documentation of this file.
1
2
// no pragma once; promote one time inclusion
3
4
#include <memory>
5
#include <vector>
6
7
#include "
EngineSubsystem.hpp
"
8
9
class
IInputController
;
10
class
ITickController
;
11
class
IHUDController
;
12
18
class
PotatoEngine
// implementation in 'Internal/Private/PotatoEngine.cpp'
19
{
20
PotatoEngine();
21
~PotatoEngine();
22
public
:
28
static
PotatoEngine&
Get
();
29
34
void
LoadSubobjects
();
35
40
void
BeginPlay
();
41
46
void
Resolve
() noexcept;
47
49
IInputController
*
GetInputController
() const;
51
ITickController
*
GetTickController
() const;
53
IHUDController
*
GetHUDController
() const;
54
55
protected:
56
std::vector<
IEngineSubsystem
*> SubsystemStack;
57
58
IInputController
* InputController;
59
ITickController
* TickController;
60
IHUDController
* HUDController;
61
62
};
EngineSubsystem.hpp
IEngineSubsystem
Interface for internal engine classes.
Definition
EngineSubsystem.hpp:9
IHUDController
Manages global HUD.
Definition
HUDController.hpp:11
IInputController
Interface to manage input binding operations.
Definition
InputController.hpp:11
ITickController
Interface to handle tick events.
Definition
TickController.hpp:11
PotatoEngine::BeginPlay
void BeginPlay()
Starts gameplay.
PotatoEngine::GetTickController
ITickController * GetTickController() const
Gets tick controller.
PotatoEngine::Resolve
void Resolve() noexcept
Resolve all subobjects and perform resolving engine functionality.
PotatoEngine::GetInputController
IInputController * GetInputController() const
Gets input controller.
PotatoEngine::Get
static PotatoEngine & Get()
Global access to engine object.
PotatoEngine::GetHUDController
IHUDController * GetHUDController() const
Gets HUD controller.
PotatoEngine::LoadSubobjects
void LoadSubobjects()
Loads all subobjects and calls corresponding initializing methods.
Core
PotatoEngine.hpp
Generated by
1.17.0