From 48e33df61b188b6c3b8c0378af3404206dffa932 Mon Sep 17 00:00:00 2001 From: Joseph Aquino Date: Tue, 14 Apr 2026 12:45:09 -0400 Subject: [PATCH] checkpoint --- Engine-Core/include/Math.h | 0 Engine-Core/include/Math/Rect.h | 12 ++++++++++++ Engine-Core/include/Math/Vec2.h | 18 ++++++++++++++++++ Game/include/GameEngine.h | 31 ++++++++++++++++++------------- Game/include/Scenes.h | 3 ++- Game/include/Scenes/MainMenu.h | 6 ++++++ 6 files changed, 56 insertions(+), 14 deletions(-) create mode 100644 Engine-Core/include/Math.h create mode 100644 Engine-Core/include/Math/Rect.h create mode 100644 Engine-Core/include/Math/Vec2.h create mode 100644 Game/include/Scenes/MainMenu.h diff --git a/Engine-Core/include/Math.h b/Engine-Core/include/Math.h new file mode 100644 index 0000000..e69de29 diff --git a/Engine-Core/include/Math/Rect.h b/Engine-Core/include/Math/Rect.h new file mode 100644 index 0000000..b68d5f8 --- /dev/null +++ b/Engine-Core/include/Math/Rect.h @@ -0,0 +1,12 @@ +#pragma once + +namespace math +{ + +template +class Rect +{ + +}; + +} \ No newline at end of file diff --git a/Engine-Core/include/Math/Vec2.h b/Engine-Core/include/Math/Vec2.h new file mode 100644 index 0000000..0b7ff32 --- /dev/null +++ b/Engine-Core/include/Math/Vec2.h @@ -0,0 +1,18 @@ +#pragma once + +namespace math +{ +template +class Vec2 +{ +public: + +private: + T x; + T y; +}; + +using Vec2f = Vec2; +using Vec2i = Vec2; + +}//namespace \ No newline at end of file diff --git a/Game/include/GameEngine.h b/Game/include/GameEngine.h index e2abf40..e43e829 100644 --- a/Game/include/GameEngine.h +++ b/Game/include/GameEngine.h @@ -1,37 +1,42 @@ #pragma once +#include "Scenes/MainMenu.h" #include #include #include + #include #include +enum class Scenes : int +{ + Play, + MainMenu, + SceneCount +}; + +inline constexpr int SCENE_COUNT {(int)Scenes::SceneCount}; using SceneContainer = std::tuple < - Play_s + Play_s, + MainMenu_s >; class GameEngine { -public: - void changeScene(Scene* scene_in) - { - m_previousScene = m_currentScene; - m_currentScene = scene_in; - } +private: + void changeScene(Scenes scene_in); - Scene* getCurrentScene() - { - return m_currentScene; - } +public: + void run(); private: sf::RenderWindow m_window; SceneContainer m_scenes; - Scene* m_currentScene; - Scene* m_previousScene; + Scenes m_currentScene; + Scenes m_previousScene; bool m_running; }; \ No newline at end of file diff --git a/Game/include/Scenes.h b/Game/include/Scenes.h index c393b7f..a78ce2c 100644 --- a/Game/include/Scenes.h +++ b/Game/include/Scenes.h @@ -1,4 +1,5 @@ #pragma once #include -#include \ No newline at end of file +#include +#include \ No newline at end of file diff --git a/Game/include/Scenes/MainMenu.h b/Game/include/Scenes/MainMenu.h new file mode 100644 index 0000000..fce9355 --- /dev/null +++ b/Game/include/Scenes/MainMenu.h @@ -0,0 +1,6 @@ +#pragma once + +class MainMenu_s +{ + +}; \ No newline at end of file