#ifndef MENU_H_61DBBF6A #define MENU_H_61DBBF6A #include <string> #include <functional> #include <vector> #include "interpolation.h" class Game; enum class MenuState { Closed, Opening, Open, Closing }; struct MenuItem { std::string text; std::function<void(Game&)> activationFunction; }; class Menu { public: Menu(); void update(size_t dt, Game& game); void open(Game& game); MenuState menuState = MenuState::Closed; Interpolation menuDisplayProgress; std::vector<MenuItem> items; int cursor = 0; private: void close(); }; #endif /* end of include guard: MENU_H_61DBBF6A */