Files
Tower-Defense/include/render/gui/MainMenu.h

38 lines
738 B
C++

#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