iw4x-client/src/Components/Modules/Party.hpp

55 lines
1.2 KiB
C++
Raw Normal View History

2017-01-20 08:36:52 -05:00
#pragma once
2017-01-19 16:23:59 -05:00
namespace Components
{
class Party : public Component
{
public:
Party();
~Party();
static Network::Address Target();
static void Connect(Network::Address target);
2018-12-17 08:29:18 -05:00
static const char* GetLobbyInfo(SteamID lobby, const std::string& key);
2017-01-19 16:23:59 -05:00
static void RemoveLobby(SteamID lobby);
static bool PlaylistAwaiting();
static void PlaylistContinue();
2018-12-17 08:29:18 -05:00
static void PlaylistError(const std::string& error);
2017-01-19 16:23:59 -05:00
2018-12-17 08:29:18 -05:00
static void ConnectError(const std::string& message);
2017-01-19 16:23:59 -05:00
static bool IsInUserMapLobby();
static bool IsInLobby();
2017-01-19 16:23:59 -05:00
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 SteamID GenerateLobbyId();
static Game::dvar_t* RegisterMinPlayers(const char* name, int value, int min, int max, Game::dvar_flag flag, const char* description);
static DWORD UIDvarIntStub(char* dvar);
};
}