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.
58 lines
1.5 KiB
58 lines
1.5 KiB
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef TF_PING_PANEL_H
|
|
#define TF_PING_PANEL_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include <vgui_controls/EditablePanel.h>
|
|
#include <../common/GameUI/cvarslider.h>
|
|
|
|
using namespace vgui;
|
|
|
|
class CTFPingPanel : public EditablePanel, public CGameEventListener
|
|
{
|
|
DECLARE_CLASS_SIMPLE( CTFPingPanel, EditablePanel )
|
|
public:
|
|
CTFPingPanel( Panel* pPanel, const char *pszName, EMatchGroup eMatchGroup );
|
|
~CTFPingPanel();
|
|
|
|
virtual void ApplySchemeSettings( IScheme *pScheme ) OVERRIDE;
|
|
virtual void PerformLayout() OVERRIDE;
|
|
virtual void OnCommand( const char *command ) OVERRIDE;
|
|
|
|
virtual void FireGameEvent( IGameEvent *event ) OVERRIDE;
|
|
|
|
private:
|
|
void CleanupPingPanels();
|
|
void UpdateCurrentPing();
|
|
|
|
MESSAGE_FUNC_PTR( OnCheckButtonChecked, "CheckButtonChecked", panel );
|
|
MESSAGE_FUNC( OnSliderMoved, "SliderMoved" );
|
|
|
|
CPanelAnimationVarAliasType( int, m_iDataCenterY, "datacenter_y", "0", "proportional_int" );
|
|
CPanelAnimationVarAliasType( int, m_iDataCenterYSpace, "datacenter_y_space", "0", "proportional_int" );
|
|
|
|
EditablePanel *m_pMainContainer;
|
|
CheckButton *m_pCheckButton;
|
|
Label *m_pCurrentPingLabel;
|
|
CCvarSlider *m_pPingSlider;
|
|
|
|
struct PingPanelInfo
|
|
{
|
|
EditablePanel *m_pPanel;
|
|
float m_flPopulationRatio;
|
|
int m_nPing;
|
|
};
|
|
CUtlVector< PingPanelInfo > m_vecDataCenterPingPanels;
|
|
|
|
EMatchGroup m_eMatchGroup;
|
|
};
|
|
|
|
#endif // TF_PING_PANEL_H
|