/* * GlobalLobbyInviteWindow.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 "GlobalLobbyObserver.h" #include "../windows/CWindowObject.h" class CLabel; class FilledTexturePlayerColored; class TransparentFilledRectangle; class CListBox; class CButton; struct GlobalLobbyAccount; class GlobalLobbyInviteWindow final : public CWindowObject, public GlobalLobbyObserver { std::shared_ptr filledBackground; std::shared_ptr labelTitle; std::shared_ptr accountList; std::shared_ptr listBackground; std::shared_ptr buttonClose; void onActiveGameRooms(const std::vector & rooms) override; void onActiveAccounts(const std::vector & accounts) override; public: GlobalLobbyInviteWindow(); }; class GlobalLobbyInviteAccountCard : public CIntObject { std::string accountID; std::shared_ptr backgroundOverlay; std::shared_ptr labelName; std::shared_ptr labelStatus; std::shared_ptr labelInviteStatus; std::shared_ptr buttonInvite; void clickPressed(const Point & cursorPosition) override; public: GlobalLobbyInviteAccountCard(const GlobalLobbyAccount & accountDescription); };