mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-17 06:03:02 +00:00
1
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef SESSIONLOBBYDIALOG_H
|
||||
#define SESSIONLOBBYDIALOG_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "basedialog.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Simple menu to choose a matchmaking session type
|
||||
//-----------------------------------------------------------------------------
|
||||
class CSessionLobbyDialog : public CBaseDialog
|
||||
{
|
||||
DECLARE_CLASS_SIMPLE( CSessionLobbyDialog, CBaseDialog );
|
||||
|
||||
public:
|
||||
CSessionLobbyDialog( vgui::Panel *parent );
|
||||
~CSessionLobbyDialog();
|
||||
|
||||
virtual void OnCommand( const char *pCommand );
|
||||
virtual void OnKeyCodePressed( vgui::KeyCode code );
|
||||
|
||||
virtual void PerformLayout();
|
||||
virtual void ApplySettings( KeyValues *inResourceData );
|
||||
virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
|
||||
|
||||
void SetDialogKeys( KeyValues *pKeys );
|
||||
void UpdatePlayerInfo( uint64 nPlayerId, const char *pName, int nTeam, byte cVoiceState, int nPlayersNeeded, bool bHost );
|
||||
void UpdateCountdown( int seconds );
|
||||
|
||||
private:
|
||||
void ActivateNextMenu();
|
||||
void ActivatePreviousMenu();
|
||||
void UpdatePlayerCountDisplay( int iTeam );
|
||||
void SetLobbyReadyState( int nPlayersNeeded );
|
||||
void PositionTeamInfos();
|
||||
|
||||
void SetTextFromKeyvalues( CPropertyLabel *pLabel );
|
||||
|
||||
void SetStartGame( bool bStartGame );
|
||||
|
||||
enum
|
||||
{
|
||||
BLUE_TEAM_LOBBY,
|
||||
RED_TEAM_LOBBY,
|
||||
TOTAL_LOBBY_TEAMS,
|
||||
};
|
||||
|
||||
CDialogMenu m_Menus[TOTAL_LOBBY_TEAMS];
|
||||
|
||||
vgui::Panel *m_pLobbyStateBg;
|
||||
CPropertyLabel *m_pLobbyStateLabel;
|
||||
CPropertyLabel *m_pLobbyStateIcon;
|
||||
CPropertyLabel *m_pHostLabel;
|
||||
vgui::EditablePanel *m_pHostOptionsPanel;
|
||||
|
||||
KeyValues *m_pDialogKeys;
|
||||
|
||||
CScenarioInfoPanel *m_pScenarioInfo;
|
||||
CScenarioInfoPanel *m_pTeamInfos[TOTAL_LOBBY_TEAMS];
|
||||
|
||||
int m_nMinInfoHeight[TOTAL_LOBBY_TEAMS];
|
||||
|
||||
uint64 m_nHostId;
|
||||
bool m_bReady;
|
||||
bool m_bHostLobby;
|
||||
bool m_bCenterOnScreen;
|
||||
int m_iLocalTeam;
|
||||
int m_iActiveMenu;
|
||||
int m_nImageBorderWidth;
|
||||
int m_nTeamspacing;
|
||||
char m_szCommand[MAX_COMMAND_LEN];
|
||||
|
||||
bool m_bStartingGame;
|
||||
int m_nLastPlayersNeeded;
|
||||
};
|
||||
|
||||
|
||||
#endif // SESSIONLOBBYDIALOG_H
|
||||
Reference in New Issue
Block a user