iw4x-client/src/Components/Modules/Party.hpp
2022-07-02 19:52:57 +02:00

58 lines
1.2 KiB
C++

#pragma once
namespace Components
{
class Party : public Component
{
public:
Party();
static Network::Address Target();
static void Connect(Network::Address target);
static const char* GetLobbyInfo(SteamID lobby, const std::string& key);
static void RemoveLobby(SteamID lobby);
static bool PlaylistAwaiting();
static void PlaylistContinue();
static void PlaylistError(const std::string& error);
static void ConnectError(const std::string& message);
static bool IsInUserMapLobby();
static bool IsInLobby();
static bool IsEnabled();
static std::string GetMotd();
private:
class JoinContainer
{
public:
Network::Address target;
std::string challenge;
std::string motd;
DWORD joinTime;
bool valid;
int matchType;
Utils::InfoString info;
// Party-specific stuff
DWORD requestTime;
bool awaitingPlaylist;
};
static JoinContainer Container;
static std::map<uint64_t, Network::Address> LobbyMap;
static Dvar::Var PartyEnable;
static SteamID GenerateLobbyId();
static Game::dvar_t* RegisterMinPlayers(const char* name, int value, int min, int max, Game::DvarFlags flag, const char* description);
static DWORD UIDvarIntStub(char* dvar);
};
}