Night Byte
Engine
Engine.hpp
1
#pragma once
2
3
4
5
#include <SDL_render.h>
6
#include <mutex>
7
#include <memory>
8
9
10
class
TextureManager
;
11
12
class
EngineRenderingAdapter
;
13
14
class
Engine
{
15
private
:
16
static
Engine
*instance_;
17
static
std::mutex mutex_;
18
19
std::unique_ptr<EngineRenderingAdapter> _renderingAdapter;
20
21
protected
:
22
Engine
() =
default
;
23
24
public
:
25
~
Engine
() =
default
;
26
Engine
(
Engine
&other) =
delete
;
27
28
void
operator=(
const
Engine
&) =
delete
;
29
30
static
Engine
*getInstance();
31
32
public
:
33
void
initWindow
(
int
SCREEN_WIDTH,
int
SCREEN_HEIGHT);
34
35
void
closeWindow
();
36
37
[[nodiscard]]
EngineRenderingAdapter
&getRenderingAdapter();
38
39
static
void
renderImGui(
bool
&cheatMode);
40
static
void
clearImGui();
41
static
bool
ShowCheckBox(
const
std::string
& label,
bool
*value);
42
static
bool
InputFloat(
const
std::string
&label,
float
*value);
43
static
bool
InputInt(
const
std::string
&label,
int
*value);
44
static
bool
InputText(
const
std::string
&label,
char
*value,
int
bufferSize);
45
static
bool
Button(
const
std::string
&label);
46
};
Engine
Definition:
Engine.hpp:14
xml_schema::string
::xsd::cxx::tree::string< char, simple_type > string
C++ type corresponding to the string XML Schema built-in type.
Definition:
common.hxx:255
Engine::initWindow
void initWindow(int SCREEN_WIDTH, int SCREEN_HEIGHT)
Definition:
Engine.cpp:37
TextureManager
Definition:
TextureManager.hpp:9
Engine::closeWindow
void closeWindow()
Definition:
Engine.cpp:131
EngineRenderingAdapter
Definition:
EngineRenderingAdapter.hpp:8
Generated by
1.8.20