mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-30 05:59:20 +00:00
1
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================
|
||||
|
||||
#ifndef SERVERBROWSER_H
|
||||
#define SERVERBROWSER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
class CServerBrowserDialog;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Handles the UI and pinging of a half-life game server list
|
||||
//-----------------------------------------------------------------------------
|
||||
class CServerBrowser : public IServerBrowser, public IVGuiModule
|
||||
{
|
||||
public:
|
||||
CServerBrowser();
|
||||
~CServerBrowser();
|
||||
|
||||
// IVGui module implementation
|
||||
virtual bool Initialize(CreateInterfaceFn *factorylist, int numFactories);
|
||||
virtual bool PostInitialize(CreateInterfaceFn *modules, int factoryCount);
|
||||
virtual vgui::VPANEL GetPanel();
|
||||
virtual bool Activate();
|
||||
virtual bool IsValid();
|
||||
virtual void Shutdown();
|
||||
virtual void Deactivate();
|
||||
virtual void Reactivate();
|
||||
virtual void SetParent(vgui::VPANEL parent);
|
||||
|
||||
// IServerBrowser implementation
|
||||
// joins a specified game - game info dialog will only be opened if the server is fully or passworded
|
||||
virtual bool JoinGame( uint32 unGameIP, uint16 usGamePort, const char *pszConnectCode );
|
||||
virtual bool JoinGame( uint64 ulSteamIDFriend, const char *pszConnectCode );
|
||||
|
||||
// opens a game info dialog to watch the specified server; associated with the friend 'userName'
|
||||
virtual bool OpenGameInfoDialog( uint64 ulSteamIDFriend, const char *pszConnectCode );
|
||||
|
||||
// forces the game info dialog closed
|
||||
virtual void CloseGameInfoDialog( uint64 ulSteamIDFriend );
|
||||
|
||||
// closes all the game info dialogs
|
||||
virtual void CloseAllGameInfoDialogs();
|
||||
|
||||
virtual const char *GetMapFriendlyNameAndGameType( const char *pszMapName, char *szFriendlyMapName, int cchFriendlyName ) OVERRIDE;
|
||||
|
||||
// methods
|
||||
virtual void CreateDialog();
|
||||
virtual void Open();
|
||||
|
||||
// true if the user can't play a game
|
||||
bool IsVACBannedFromGame( int nAppID );
|
||||
|
||||
// Enable filtering of workshop maps, requires the game/tool loading us to feed subscription data. This is a
|
||||
// slightly ugly workaround to TF2 not yet having native workshop UI in quickplay, once that is in place this should
|
||||
// either be stripped back out or expanded to be directly aware of the steam workshop without being managed.
|
||||
virtual void SetWorkshopEnabled( bool bManaged ) OVERRIDE;
|
||||
virtual void AddWorkshopSubscribedMap( const char *pszMapName ) OVERRIDE;
|
||||
virtual void RemoveWorkshopSubscribedMap( const char *pszMapName ) OVERRIDE;
|
||||
|
||||
bool IsWorkshopEnabled();
|
||||
bool IsWorkshopSubscribedMap( const char *pszMapName );
|
||||
private:
|
||||
vgui::DHANDLE<CServerBrowserDialog> m_hInternetDlg;
|
||||
|
||||
bool m_bWorkshopEnabled;
|
||||
CUtlVector< CUtlString > m_vecWorkshopSubscribedMaps;
|
||||
};
|
||||
|
||||
// singleton accessor
|
||||
CServerBrowser &ServerBrowser();
|
||||
|
||||
class CSteamAPIContext;
|
||||
extern CSteamAPIContext *steamapicontext;
|
||||
|
||||
|
||||
#endif // SERVERBROWSER_H
|
||||
Reference in New Issue
Block a user