43 lines
907 B
C++
43 lines
907 B
C++
#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<UiNode> uiSavedRoot;
|
|
std::shared_ptr<UiNode> gameOverSavedRoot;
|
|
std::shared_ptr<UiNode> settingsSavedRoot;
|
|
std::shared_ptr<UiNode> multiplayerSavedRoot;
|
|
|
|
public:
|
|
bool uiGameOverShown = false;
|
|
bool g_exitBgAnimating = false;
|
|
|
|
UiManager uiManager;
|
|
|
|
MenuManager(Renderer& iRenderer);
|
|
|
|
void setupMenu();
|
|
|
|
void showGameOver();
|
|
|
|
std::function<void()> onRestartPressed;
|
|
std::function<void(float)> onVelocityChanged;
|
|
std::function<void()> onFirePressed;
|
|
|
|
std::function<void(const std::string&, int)> onSingleplayerPressed;
|
|
std::function<void(const std::string&, int)> onMultiplayerPressed;
|
|
|
|
};
|
|
};
|
|
|