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