| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- /*
- * GlobalLobbyRoomWindow.h, part of VCMI engine
- *
- * Authors: listed in file AUTHORS in main folder
- *
- * License: GNU General Public License v2.0 or later
- * Full text of license available in license.txt file, in main folder
- *
- */
- #pragma once
- #include "../windows/CWindowObject.h"
- #include "../../lib/modding/ModVerificationInfo.h"
- class CLabel;
- class CTextBox;
- class FilledTexturePlayerColored;
- class CButton;
- class CToggleGroup;
- class GlobalLobbyWindow;
- class TransparentFilledRectangle;
- class CListBox;
- struct GlobalLobbyAccount;
- struct GlobalLobbyRoom;
- struct ModVerificationInfo;
- struct GlobalLobbyRoomModInfo
- {
- std::string modName;
- std::string version;
- ModVerificationStatus status;
- };
- class GlobalLobbyRoomAccountCard : public CIntObject
- {
- std::shared_ptr<TransparentFilledRectangle> backgroundOverlay;
- std::shared_ptr<CLabel> labelName;
- std::shared_ptr<CLabel> labelStatus;
- public:
- GlobalLobbyRoomAccountCard(const GlobalLobbyAccount & accountDescription);
- };
- class GlobalLobbyRoomModCard : public CIntObject
- {
- std::shared_ptr<TransparentFilledRectangle> backgroundOverlay;
- std::shared_ptr<CLabel> labelName;
- std::shared_ptr<CLabel> labelStatus;
- std::shared_ptr<CLabel> labelVersion;
- public:
- GlobalLobbyRoomModCard(const GlobalLobbyRoomModInfo & modInfo);
- };
- class GlobalLobbyRoomWindow : public CWindowObject
- {
- std::vector<GlobalLobbyRoomModInfo> modVerificationList;
- GlobalLobbyWindow * window;
- std::string roomUUID;
- std::shared_ptr<FilledTexturePlayerColored> filledBackground;
- std::shared_ptr<CLabel> labelTitle;
- std::shared_ptr<CLabel> labelSubtitle;
- std::shared_ptr<CLabel> labelDescription;
- std::shared_ptr<CLabel> labelVersion;
- std::shared_ptr<CLabel> labelJoinStatus;
- std::shared_ptr<CLabel> accountListTitle;
- std::shared_ptr<CLabel> modListTitle;
- std::shared_ptr<TransparentFilledRectangle> accountListBackground;
- std::shared_ptr<TransparentFilledRectangle> modListBackground;
- std::shared_ptr<CListBox> accountList;
- std::shared_ptr<CListBox> modList;
- std::shared_ptr<CButton> buttonJoin;
- std::shared_ptr<CButton> buttonClose;
- void onJoin();
- void onClose();
- public:
- GlobalLobbyRoomWindow(GlobalLobbyWindow * window, const std::string & roomUUID);
- };
|