Team Fortress 2 Source Code as on 22/4/2020
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.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================
#ifndef INTERNETGAMES_H
#define INTERNETGAMES_H
#ifdef _WIN32
#pragma once
#endif
#include "BaseGamesPage.h"
//-----------------------------------------------------------------------------
// Purpose: Internet games list
//-----------------------------------------------------------------------------
class CInternetGames : public CBaseGamesPage {
DECLARE_CLASS_SIMPLE( CInternetGames, CBaseGamesPage );
public: CInternetGames( vgui::Panel *parent, const char *panelName = "InternetGames", EPageType eType = eInternetServer ); ~CInternetGames();
// property page handlers
virtual void OnPageShow();
// returns true if the game list supports the specified ui elements
virtual bool SupportsItem(IGameList::InterfaceItem_e item);
// gets a new server list
MESSAGE_FUNC( GetNewServerList, "GetNewServerList" );
// serverlist refresh responses
virtual void ServerResponded( HServerListRequest hReq, int iServer ); virtual void ServerFailedToRespond( HServerListRequest hReq, int iServer ); virtual void RefreshComplete( HServerListRequest hReq, EMatchMakingServerResponse response ); MESSAGE_FUNC_INT( OnRefreshServer, "RefreshServer", serverID );
virtual int GetRegionCodeToFilter(); virtual bool CheckTagFilter( gameserveritem_t &server );
protected: // vgui overrides
virtual void PerformLayout(); virtual void OnTick();
virtual const char *GetStringNoUnfilteredServers() { return "#ServerBrowser_NoInternetGames"; } virtual const char *GetStringNoUnfilteredServersOnMaster() { return "#ServerBrowser_MasterServerHasNoServersListed"; } virtual const char *GetStringNoServersResponded() { return "#ServerBrowser_NoInternetGamesResponded"; }
private: // Called once per frame to see if sorting needs to occur again
void CheckRedoSort(); // Called once per frame to check re-send request to master server
void CheckRetryRequest( ESteamServerType serverType ); // opens context menu (user right clicked on a server)
MESSAGE_FUNC_INT( OnOpenContextMenu, "OpenContextMenu", itemID );
struct regions_s { CUtlSymbol name; unsigned char code; };
CUtlVector<struct regions_s> m_Regions; // list of the different regions you can query for
float m_fLastSort; // Time of last re-sort
bool m_bDirty; // Has the list been modified, thereby needing re-sort
bool m_bRequireUpdate; // checks whether we need an update upon opening
// error cases for if no servers are listed
bool m_bAnyServersRetrievedFromMaster; bool m_bAnyServersRespondedToQuery; bool m_bNoServersListedOnMaster;
bool m_bOfflineMode; };
#endif // INTERNETGAMES_H
|