#pragma once #include "../GameEngine/Engine_Messaging_System/EngineMessageSystem.h" #include "../GameEngine/Engine_Text/Text.h" #include "../GameEngine/Engine_Graphics/Scene.h" #include "../GameEngine/Engine_Physics/Entity.h" #include "../GameEngine/Engine_Core/BaseGameEvents.h" #include "SFML\Window.hpp" #include "SFML\Graphics.hpp" #include <list> #include <iostream> class MainMenu { public: enum MenuResult { Nothing, Exit, LevelTest, Level1, Level2, Level3 }; struct MenuItem { public: sf::Rect<int> rect; MenuResult action; }; MenuResult Show(sf::RenderWindow& window); private: MenuResult GetMenuResponse(sf::RenderWindow& window); MenuResult HandleClick(int x, int y); std::list<MenuItem> _menuItems; };