You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.6 KiB
88 lines
2.6 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//============================================================================= |
|
|
|
#include "pch_serverbrowser.h" |
|
|
|
using namespace vgui; |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Constructor |
|
//----------------------------------------------------------------------------- |
|
CFriendsGames::CFriendsGames(vgui::Panel *parent) : |
|
CBaseGamesPage(parent, "FriendsGames", eFriendsServer ) |
|
{ |
|
m_iServerRefreshCount = 0; |
|
|
|
if ( !IsSteamGameServerBrowsingEnabled() ) |
|
{ |
|
m_pGameList->SetEmptyListText("#ServerBrowser_OfflineMode"); |
|
m_pConnect->SetEnabled( false ); |
|
m_pRefreshAll->SetEnabled( false ); |
|
m_pRefreshQuick->SetEnabled( false ); |
|
m_pAddServer->SetEnabled( false ); |
|
m_pFilter->SetEnabled( false ); |
|
} |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Destructor |
|
//----------------------------------------------------------------------------- |
|
CFriendsGames::~CFriendsGames() |
|
{ |
|
} |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: returns true if the game list supports the specified ui elements |
|
//----------------------------------------------------------------------------- |
|
bool CFriendsGames::SupportsItem(InterfaceItem_e item) |
|
{ |
|
switch (item) |
|
{ |
|
case FILTERS: |
|
return true; |
|
|
|
case GETNEWLIST: |
|
default: |
|
return false; |
|
} |
|
} |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: called when the current refresh list is complete |
|
//----------------------------------------------------------------------------- |
|
void CFriendsGames::RefreshComplete( HServerListRequest hReq, EMatchMakingServerResponse response ) |
|
{ |
|
SetRefreshing(false); |
|
m_pGameList->SortList(); |
|
m_iServerRefreshCount = 0; |
|
|
|
if ( IsSteamGameServerBrowsingEnabled() ) |
|
{ |
|
// set empty message |
|
m_pGameList->SetEmptyListText("#ServerBrowser_NoFriendsServers"); |
|
} |
|
|
|
BaseClass::RefreshComplete( hReq, response ); |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: opens context menu (user right clicked on a server) |
|
//----------------------------------------------------------------------------- |
|
void CFriendsGames::OnOpenContextMenu(int itemID) |
|
{ |
|
// get the server |
|
int serverID = GetSelectedServerID(); |
|
|
|
if ( serverID == -1 ) |
|
return; |
|
|
|
// Activate context menu |
|
CServerContextMenu *menu = ServerBrowserDialog().GetContextMenu(GetActiveList()); |
|
menu->ShowMenu(this, serverID, true, true, true, true); |
|
}
|
|
|