Files
Tower-Defense/include/render/gui/MainMenu.h
2022-03-02 18:51:42 +01:00

38 lines
727 B
C++

#pragma once
#include "GuiWidget.h"
#include "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