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 <memory>
4
5#include "GLFW/glfw3.h"
6#include <vector>
7#include <filesystem>
8
9namespace EngineCore {
10 class Scene;
11
12 class GameModule {
13 public:
14 GameModule() = default;
15 virtual ~GameModule() = default;
16
17 virtual void init(GLFWwindow* window);
18 virtual void initUI(GLFWwindow* window);
19 virtual void startup();
20 virtual void preTick();
21 virtual void tick(float deltaTime);
22 virtual void postTick();
23
24 virtual void preDraw();
25 virtual void onDraw(VkCommandBuffer commandBuffer);
26 virtual void postDraw();
27
28 virtual void shutdown();
29
30 [[nodiscard]] virtual std::vector<std::filesystem::path> getInitialSceneContents() const;
31
32 GLFWwindow* getWindow() const;
33
35
36 private:
37 GLFWwindow* window;
38 };
39}
virtual void postDraw()
virtual void init(GLFWwindow *window)
Definition GameModule.cpp:6
GLFWwindow * window
Definition GameModule.h:37
virtual void preTick()
GLFWwindow * getWindow() const
virtual ~GameModule()=default
virtual void preDraw()
virtual void shutdown()
virtual EngineCore::Scene * loadInitialScene()
virtual void initUI(GLFWwindow *window)
virtual void onDraw(VkCommandBuffer commandBuffer)
virtual void tick(float deltaTime)
virtual std::vector< std::filesystem::path > getInitialSceneContents() const
virtual void postTick()
virtual void startup()
A scene is the overarching structure which can spawn actors.
Definition Scene.h:17
Log category system implementation.