refactor: create MainMenu and GameMenu classes

This commit is contained in:
2021-11-04 11:01:46 +01:00
parent 1186e5ee9c
commit 2fc0f28b27
9 changed files with 303 additions and 205 deletions

View File

@@ -0,0 +1,37 @@
#pragma once
#include "GuiWidget.h"
#include "render/gui/imgui/imgui_filebrowser.h"
#include "game/server/Server.h"
#include <memory>
namespace td {
namespace gui {
class MainMenu : public GuiWidget {
private:
bool m_TriedToConnect = false;
bool m_TriedToCreate = false;
std::string m_ConnectAddress;
int m_ConnectPort;
int m_ServerPort = 25565;
std::string m_WorldFilePath;
imgui_addons::ImGuiFileBrowser m_FileDialog;
std::unique_ptr<server::Server> m_Server;
public:
MainMenu(client::Client* client);
~MainMenu();
virtual void render();
const server::Server* getServer() const { return m_Server.get(); }
private:
bool startServer();
};
} // namespace gui
} // namespace td