refactor: use of GuiManager
This commit is contained in:
@@ -14,6 +14,8 @@ GameMenu::GameMenu(client::Client* client) : GuiWidget(client), m_SummonMenu(std
|
||||
}
|
||||
|
||||
void GameMenu::render() {
|
||||
if(!m_Client->isConnected()) return;
|
||||
|
||||
if (getClient()->getGame().getGameState() == td::game::GameState::Lobby) {
|
||||
ImGui::Begin("Lobby");
|
||||
|
||||
|
||||
@@ -18,6 +18,12 @@ MainMenu::~MainMenu() {
|
||||
}
|
||||
|
||||
void MainMenu::render() {
|
||||
if (m_Server != nullptr && !m_Server->isRunning()) {
|
||||
m_Server.reset(0); // destroying server if it stoped
|
||||
}
|
||||
|
||||
if(m_Client->isConnected()) return;
|
||||
|
||||
ImGui::Begin("Main Menu");
|
||||
if (ImGui::Button("Rejoindre une partie##join")) {
|
||||
ImGui::OpenPopup("Rejoindre une partie##join_popup");
|
||||
|
||||
@@ -22,10 +22,10 @@ namespace td {
|
||||
namespace render {
|
||||
|
||||
void TowerGui::initWidgets() {
|
||||
m_MainMenu = std::make_unique<td::gui::MainMenu>(m_Client.get());
|
||||
m_GameMenu = std::make_unique<td::gui::GameMenu>(m_Client.get());
|
||||
m_FrameMenu = std::make_unique<td::gui::FrameMenu>(m_Client.get());
|
||||
m_UpdateMenu = std::make_unique<td::gui::UpdateMenu>(m_Client.get());
|
||||
m_GuiManager.addWidget(std::make_unique<td::gui::MainMenu>(m_Client.get()));
|
||||
m_GuiManager.addWidget(std::make_unique<td::gui::GameMenu>(m_Client.get()));
|
||||
m_GuiManager.addWidget(std::make_unique<td::gui::FrameMenu>(m_Client.get()));
|
||||
m_GuiManager.addWidget(std::make_unique<td::gui::UpdateMenu>(m_Client.get()));
|
||||
}
|
||||
|
||||
TowerGui::TowerGui(SDL_Window* sdl_window, SDL_GLContext glContext, td::render::Renderer* renderer) : m_Window(sdl_window),
|
||||
@@ -69,13 +69,8 @@ void TowerGui::render() {
|
||||
beginFrame();
|
||||
|
||||
m_Client->render();
|
||||
if (m_Client->isConnected())
|
||||
m_GameMenu->render();
|
||||
else
|
||||
m_MainMenu->render();
|
||||
|
||||
m_FrameMenu->render();
|
||||
m_UpdateMenu->render();
|
||||
m_GuiManager.renderWidgets();
|
||||
|
||||
endFrame();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user