#pragma once #include "render/Renderer.h" #include "Environment.h" #include "render/TextureManager.h" #include "UiManager.h" namespace ZL { extern const char* CONST_ZIP_FILE; //extern bool g_exitBgAnimating; class MenuManager { protected: Renderer& renderer; std::shared_ptr uiSavedRoot; std::shared_ptr gameOverSavedRoot; std::shared_ptr settingsSavedRoot; std::shared_ptr multiplayerSavedRoot; public: bool uiGameOverShown = false; bool g_exitBgAnimating = false; UiManager uiManager; MenuManager(Renderer& iRenderer); void setupMenu(); void showGameOver(); std::function onRestartPressed; std::function onVelocityChanged; std::function onFirePressed; std::function onSingleplayerPressed; std::function onMultiplayerPressed; }; };