source-engine/gameui/matchmaking/leaderboarddialog.h

60 lines
1.6 KiB
C
Raw Normal View History

2020-04-22 16:56:21 +00:00
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: Displays a leaderboard
//
//=============================================================================//
#ifndef LEADERBOARDDIALOG_H
#define LEADERBOARDDIALOG_H
#ifdef _WIN32
#pragma once
#endif
#include "basedialog.h"
//-----------------------------------------------------------------------------
// Purpose: Display player leaderboards
//-----------------------------------------------------------------------------
class CLeaderboardDialog : public CBaseDialog
{
DECLARE_CLASS_SIMPLE( CLeaderboardDialog, CBaseDialog );
public:
CLeaderboardDialog(vgui::Panel *parent);
~CLeaderboardDialog();
virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
virtual void ApplySettings( KeyValues *pResourceData );
virtual void PerformLayout( void );
virtual void OnCommand( const char *pCommand );
virtual void OnKeyCodePressed( vgui::KeyCode code );
virtual void HandleKeyRepeated( vgui::KeyCode code );
bool GetPlayerStats( int rank, bool bFriends = false );
void UpdateLeaderboard( int iNewRank );
void AddLeaderboardEntry( const char **pEntries, int ct );
void CleanupStats();
private:
vgui::Panel *m_pProgressBg;
vgui::Panel *m_pProgressBar;
vgui::Label *m_pProgressPercent;
vgui::Label *m_pNumbering;
vgui::Label *m_pUpArrow;
vgui::Label *m_pDownArrow;
vgui::Label *m_pBestMoments;
int m_iBaseRank;
int m_iActiveRank;
int m_iMaxRank;
int m_cColumns;
int m_iRangeBase;
#if defined( _X360 )
XUSER_STATS_READ_RESULTS *m_pStats;
#endif
};
#endif // LEADERBOARDDIALOG_H