Vulkan Schnee
0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
GameModule.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
Engine/Entity/Entity.h
"
4
#include "GLFW/glfw3.h"
5
6
#include <filesystem>
7
#include <functional>
8
#include <memory>
9
#include <vector>
10
11
namespace
Engine
{
12
13
namespace
Entities
14
{
15
class
Scene
;
16
}
// namespace Entities
17
18
struct
SceneBrowserEntry
19
{
20
const
char
*
name
=
nullptr
;
21
std::function<
Entities::Scene
*()>
createScene
;
22
};
23
24
class
GameModule
{
25
public
:
26
GameModule
() =
default
;
27
virtual
~GameModule
() =
default
;
28
29
virtual
void
init
(GLFWwindow*
window
);
30
virtual
void
initUI
(GLFWwindow*
window
);
31
virtual
void
startup
();
32
virtual
void
preTick
();
33
virtual
void
tick
(
float
deltaTime);
34
virtual
void
postTick
();
35
36
virtual
void
preDraw
();
37
virtual
void
onDraw
(VkCommandBuffer commandBuffer);
38
virtual
void
postDraw
();
39
40
virtual
void
shutdown
();
41
42
[[nodiscard]]
virtual
std::vector<std::filesystem::path>
getInitialSceneContents
()
const
;
43
44
virtual
void
collectSceneBrowserEntries
( std::vector<SceneBrowserEntry> & entries )
const
;
45
46
GLFWwindow*
getWindow
()
const
;
47
48
virtual
Entities::Scene
*
loadInitialScene
();
49
50
private
:
51
GLFWwindow*
window
;
52
};
53
}
Entity.h
Engine::Entities::Scene
A scene is the overarching structure which can spawn, contain and destroy actors or entities.
Definition
Scene.h:62
Engine::GameModule::getWindow
GLFWwindow * getWindow() const
Engine::GameModule::collectSceneBrowserEntries
virtual void collectSceneBrowserEntries(std::vector< SceneBrowserEntry > &entries) const
Engine::GameModule::loadInitialScene
virtual Entities::Scene * loadInitialScene()
Engine::GameModule::getInitialSceneContents
virtual std::vector< std::filesystem::path > getInitialSceneContents() const
Engine::GameModule::postDraw
virtual void postDraw()
Engine::GameModule::initUI
virtual void initUI(GLFWwindow *window)
Engine::GameModule::startup
virtual void startup()
Engine::GameModule::tick
virtual void tick(float deltaTime)
Engine::GameModule::shutdown
virtual void shutdown()
Engine::GameModule::GameModule
GameModule()=default
Engine::GameModule::preTick
virtual void preTick()
Engine::GameModule::postTick
virtual void postTick()
Engine::GameModule::preDraw
virtual void preDraw()
Engine::GameModule::init
virtual void init(GLFWwindow *window)
Engine::GameModule::~GameModule
virtual ~GameModule()=default
Engine::GameModule::onDraw
virtual void onDraw(VkCommandBuffer commandBuffer)
Engine::GameModule::window
GLFWwindow * window
Definition
GameModule.h:51
Engine::Entities
Definition
CollisionComponent.h:11
Engine
Engine::SceneBrowserEntry
Definition
GameModule.h:19
Engine::SceneBrowserEntry::createScene
std::function< Entities::Scene *()> createScene
Definition
GameModule.h:21
Engine::SceneBrowserEntry::name
const char * name
Definition
GameModule.h:20
Engine
include
Engine
Game
GameModule.h
Generated by
1.14.0