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.
81 lines
2.2 KiB
81 lines
2.2 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//============================================================================= |
|
|
|
#ifndef LANGAMES_H |
|
#define LANGAMES_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
class CLanBroadcastMsgHandler; |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Favorite games list |
|
//----------------------------------------------------------------------------- |
|
class CLanGames : public CBaseGamesPage |
|
{ |
|
DECLARE_CLASS_SIMPLE( CLanGames, CBaseGamesPage ); |
|
|
|
public: |
|
CLanGames(vgui::Panel *parent, bool bAutoRefresh=true, const char *pCustomResFilename=NULL); |
|
~CLanGames(); |
|
|
|
// property page handlers |
|
virtual void OnPageShow(); |
|
|
|
// IGameList handlers |
|
// returns true if the game list supports the specified ui elements |
|
virtual bool SupportsItem(InterfaceItem_e item); |
|
|
|
// Control which button are visible. |
|
void ManualShowButtons( bool bShowConnect, bool bShowRefreshAll, bool bShowFilter ); |
|
|
|
// If you pass NULL for pSpecificAddresses, it will broadcast on certain points. |
|
// If you pass a non-null value, then it will send info queries directly to those ports. |
|
void InternalGetNewServerList( CUtlVector<netadr_t> *pSpecificAddresses ); |
|
|
|
virtual void StartRefresh(); |
|
|
|
// stops current refresh/GetNewServerList() |
|
virtual void StopRefresh(); |
|
|
|
|
|
// IServerRefreshResponse handlers |
|
// called when a server response has timed out |
|
virtual void ServerFailedToRespond( HServerListRequest hReq, int iServer ); |
|
|
|
// called when the current refresh list is complete |
|
virtual void RefreshComplete( HServerListRequest hReq, EMatchMakingServerResponse response ); |
|
|
|
// Tell the game list what to put in there when there are no games found. |
|
virtual void SetEmptyListText(); |
|
|
|
private: |
|
// vgui message handlers |
|
virtual void OnTick(); |
|
|
|
// lan timeout checking |
|
virtual void CheckRetryRequest(); |
|
|
|
// context menu message handlers |
|
MESSAGE_FUNC_INT( OnOpenContextMenu, "OpenContextMenu", itemID ); |
|
|
|
// number of servers refreshed |
|
int m_iServerRefreshCount; |
|
|
|
// true if we're broadcasting for servers |
|
bool m_bRequesting; |
|
|
|
// time at which we last broadcasted |
|
double m_fRequestTime; |
|
|
|
bool m_bAutoRefresh; |
|
}; |
|
|
|
|
|
|
|
#endif // LANGAMES_H
|
|
|