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.3 KiB
88 lines
2.3 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef TF_LOBBY_CONTAINER_FRAME_H |
|
#define TF_LOBBY_CONTAINER_FRAME_H |
|
|
|
|
|
#include "cbase.h" |
|
#include "vgui_controls/PropertyDialog.h" |
|
#include "GameEventListener.h" |
|
|
|
// memdbgon must be the last include file in a .cpp file!!! |
|
#include <tier0/memdbgon.h> |
|
|
|
bool BIsPartyLeader(); |
|
bool BIsPartyInUIState(); |
|
CSteamID SteamIDFromDecimalString( const char *pszUint64InDecimal ); |
|
|
|
class CBaseLobbyPanel; |
|
|
|
// This is a big fat kludge so I can use the PropertyPage |
|
class CBaseLobbyContainerFrame : public vgui::PropertyDialog, public CGameEventListener |
|
{ |
|
DECLARE_CLASS_SIMPLE( CBaseLobbyContainerFrame, PropertyDialog ); |
|
public: |
|
CBaseLobbyContainerFrame( const char *pszPanelName ); |
|
virtual ~CBaseLobbyContainerFrame(); |
|
|
|
// |
|
// PropertyDialog overrides |
|
// |
|
virtual void ApplySchemeSettings( vgui::IScheme *pScheme ) OVERRIDE; |
|
virtual void PerformLayout( void ) OVERRIDE; |
|
virtual void OnKeyCodeTyped(vgui::KeyCode code) OVERRIDE; |
|
virtual void OnKeyCodePressed(vgui::KeyCode code) OVERRIDE; |
|
virtual void OnCommand( const char *command ) OVERRIDE; |
|
|
|
// |
|
// CGameEventListener overrides |
|
// |
|
virtual void FireGameEvent( IGameEvent *event ) OVERRIDE; |
|
|
|
void StartSearch( void ); |
|
virtual void ShowPanel(bool bShow); |
|
void SetNextButtonEnabled( bool bValue ); |
|
|
|
virtual void OnThink() OVERRIDE; |
|
|
|
static void LeaveLobbyPanel( bool bConfirmed, void *pContext ) |
|
{ |
|
CBaseLobbyContainerFrame* pCaller = (CBaseLobbyContainerFrame*)pContext; |
|
if ( bConfirmed && pCaller ) |
|
{ |
|
pCaller->OnCommand( "back" ); |
|
} |
|
} |
|
|
|
MESSAGE_FUNC( OpenPingOptions, "Context_Ping" ); |
|
|
|
protected: |
|
|
|
bool ShouldShowPartyButton() const; |
|
virtual void WriteControls(); |
|
virtual void HandleBackPressed(); |
|
void OpenOptionsContextMenu(); |
|
|
|
CBaseLobbyPanel *m_pContents; |
|
vgui::Button *m_pNextButton; |
|
vgui::Button *m_pBackButton; |
|
|
|
private: |
|
|
|
virtual const char* GetResFile() const = 0; |
|
virtual TF_MatchmakingMode GetHandledMode() const = 0; |
|
virtual bool VerifyPartyAuthorization() const = 0; |
|
|
|
vgui::Button *m_pStartPartyButton; |
|
vgui::Menu *m_pContextMenu; |
|
|
|
bool m_bNextButtonEnabled; |
|
|
|
vgui::DHANDLE< vgui::Panel > m_hPingPanel; |
|
}; |
|
|
|
#endif //TF_LOBBY_CONTAINER_FRAME_H
|