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: Serves as the base panel for the entire matchmaking UI
//
//=============================================================================//
#ifndef MATCHMAKINGBASEPANEL_H
#define MATCHMAKINGBASEPANEL_H
#ifdef _WIN32
#pragma once
#endif
#include "basedialog.h"
#include "utlstack.h"
#include "const.h"
enum EGameType { GAMETYPE_RANKED_MATCH, GAMETYPE_STANDARD_MATCH, GAMETYPE_SYSTEMLINK_MATCH, };
//----------------------------
// CMatchmakingBasePanel
//----------------------------
class CMatchmakingBasePanel : public CBaseDialog { DECLARE_CLASS_SIMPLE( CMatchmakingBasePanel, CBaseDialog );
public: CMatchmakingBasePanel(vgui::Panel *parent); ~CMatchmakingBasePanel();
virtual void OnCommand( const char *pCommand ); virtual void OnKeyCodePressed( vgui::KeyCode code ); virtual void Activate();
void SessionNotification( const int notification, const int param = 0 ); void SystemNotification( const int notification ); void UpdatePlayerInfo( uint64 nPlayerId, const char *pName, int nTeam, byte cVoiceState, int nPlayersNeeded, bool bHost ); void SessionSearchResult( int searchIdx, void *pHostData, XSESSION_SEARCHRESULT *pResult, int ping );
void OnLevelLoadingStarted(); void OnLevelLoadingFinished(); void CloseGameDialogs( bool bActivateNext = true ); void CloseAllDialogs( bool bActivateNext = true ); void CloseBaseDialogs( void );
void SetFooterButtons( CBaseDialog *pOwner, KeyValues *pData, int nButtonGap = -1 ); void ShowFooter( bool bShown ); void SetFooterButtonVisible( const char *pszText, bool bVisible );
uint GetGameType( void ) { return m_nGameType; }
MESSAGE_FUNC_CHARPTR( LoadMap, "LoadMap", mapname ); private: void OnOpenWelcomeDialog(); void OnOpenPauseDialog(); void OnOpenRankingsDialog(); void OnOpenSystemLinkDialog(); void OnOpenPlayerMatchDialog(); void OnOpenRankedMatchDialog(); void OnOpenAchievementsDialog();
//=============================================================================
// HPE_BEGIN:
// [dwenger] Specific code for CS Achievements Display
//=============================================================================
// $TODO(HPE): Move this to a game-specific location
void OnOpenCSAchievementsDialog();
//=============================================================================
// HPE_END
//=============================================================================
void OnOpenLeaderboardDialog( const char *pResourceName ); void OnOpenSessionOptionsDialog( const char *pResourceName ); void OnOpenSessionLobbyDialog( const char *pResourceName ); void OnOpenSessionBrowserDialog( const char *pResourceName );
void LoadSessionProperties(); bool ValidateSigninAndStorage( bool bOnlineRequired, const char *pIssuingCommand ); void CenterDialog( vgui::PHandle dlg ); void PushDialog( vgui::DHANDLE< CBaseDialog > &hDialog ); void PopDialog( bool bActivateNext = true );
vgui::DHANDLE< CBaseDialog > m_hWelcomeDialog; vgui::DHANDLE< CBaseDialog > m_hPauseDialog; vgui::DHANDLE< CBaseDialog > m_hStatsDialog; vgui::DHANDLE< CBaseDialog > m_hRankingsDialog; vgui::DHANDLE< CBaseDialog > m_hLeaderboardDialog; vgui::DHANDLE< CBaseDialog > m_hSystemLinkDialog; vgui::DHANDLE< CBaseDialog > m_hPlayerMatchDialog; vgui::DHANDLE< CBaseDialog > m_hRankedMatchDialog; vgui::DHANDLE< CBaseDialog > m_hAchievementsDialog; vgui::DHANDLE< CBaseDialog > m_hSessionOptionsDialog; vgui::DHANDLE< CBaseDialog > m_hSessionLobbyDialog; vgui::DHANDLE< CBaseDialog > m_hSessionBrowserDialog;
CUtlStack< vgui::DHANDLE< CBaseDialog > > m_DialogStack;
uint m_nSessionType; uint m_nGameType; bool m_bPlayingOnline; char m_szMapLoadName[MAX_MAP_NAME]; KeyValues *m_pSessionKeys;
CFooterPanel *m_pFooter; };
#endif // MATCHMAKINGBASEPANEL_H
|