diff --git a/include/td/display/state/MainMenuState.h b/include/td/display/state/MainMenuState.h
new file mode 100644
index 0000000..f4b250c
--- /dev/null
+++ b/include/td/display/state/MainMenuState.h
@@ -0,0 +1,15 @@
+#pragma once
+
+#include
+
+namespace td {
+
+class MainMenuState : public DisplayState {
+ public:
+ MainMenuState(Display& a_Display);
+ ~MainMenuState();
+
+ virtual void Update(float a_Delta) override;
+};
+
+} // namespace td
diff --git a/src/main.cpp b/src/main.cpp
index 7850dcd..ee8f054 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,5 +1,5 @@
#include
-#include |
+#include |
float GetDelta() {
static std::chrono::time_point m_LastTime = std::chrono::system_clock::now();
@@ -13,7 +13,7 @@ int main(int argc, char** argv) {
// init GL context
td::Display display(1920, 1080, "Tower-Defense 2");
- display.ChangeState();
+ display.ChangeState();
while (!display.IsCloseRequested()) {
display.PollEvents();
diff --git a/src/td/display/state/MainMenuState.cpp b/src/td/display/state/MainMenuState.cpp
new file mode 100644
index 0000000..a71bf6e
--- /dev/null
+++ b/src/td/display/state/MainMenuState.cpp
@@ -0,0 +1,18 @@
+#include |
+
+#include |
+#include
+
+namespace td {
+
+MainMenuState::MainMenuState(Display& a_Display) : DisplayState(a_Display) {}
+MainMenuState::~MainMenuState() {}
+
+void MainMenuState::Update(float a_Delta) {
+ ImGui::Begin("MainWindow");
+ if(ImGui::Button("Start debug world"))
+ m_StateMachine.ChangeState();
+ ImGui::End();
+}
+
+} // namespace td
| | |