diff options
Diffstat (limited to 'game/client/dod/VGUI/dodclientscoreboard.h')
| -rw-r--r-- | game/client/dod/VGUI/dodclientscoreboard.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/game/client/dod/VGUI/dodclientscoreboard.h b/game/client/dod/VGUI/dodclientscoreboard.h new file mode 100644 index 0000000..e70c6ec --- /dev/null +++ b/game/client/dod/VGUI/dodclientscoreboard.h @@ -0,0 +1,79 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef DODCLIENTSCOREBOARDDIALOG_H +#define DODCLIENTSCOREBOARDDIALOG_H +#ifdef _WIN32 +#pragma once +#endif + +#include <clientscoreboarddialog.h> +#include "dod_shareddefs.h" + +//----------------------------------------------------------------------------- +// Purpose: Game ScoreBoard +//----------------------------------------------------------------------------- +class CDODClientScoreBoardDialog : public CClientScoreBoardDialog +{ +private: + DECLARE_CLASS_SIMPLE( CDODClientScoreBoardDialog, CClientScoreBoardDialog ); + +public: + CDODClientScoreBoardDialog( IViewPort *pViewPort ); + ~CDODClientScoreBoardDialog(); + + virtual void Reset(); + virtual void Update(); + + virtual void PaintBackground(); + virtual void PaintBorder(); + virtual void ApplySchemeSettings( vgui::IScheme *pScheme ); + + virtual void ShowPanel( bool bShow ); + +private: + void InitPlayerList( vgui::SectionedListPanel *pPlayerList, int teamNumber ); + void UpdateTeamInfo(); + void UpdatePlayerList(); + void UpdateSpectatorList(); + bool GetPlayerScoreInfo( int playerIndex, KeyValues *outPlayerInfo ); + + bool ShouldShowAsSpectator( int iPlayerIndex ); + void FireGameEvent( IGameEvent *event ); + + static bool DODPlayerSortFunc( vgui::SectionedListPanel *list, int itemID1, int itemID2 ); + + Color m_bgColor; + Color m_borderColor; + + int m_iImageDead; + int m_iImageDominated; + int m_iImageNemesis; + + // player lists + vgui::SectionedListPanel *m_pPlayerListAllies; + vgui::SectionedListPanel *m_pPlayerListAxis; + + CPanelAnimationVarAliasType( int, m_iStatusWidth, "status_width", "35", "proportional_int" ); + CPanelAnimationVarAliasType( int, m_iFragsWidth, "frags_width", "30", "proportional_int" ); + CPanelAnimationVarAliasType( int, m_iProportionalAvatarWidth, "avatar_width_prop", "34", "proportional_int" ); + + vgui::Label *m_pAllies_PlayerCount; + vgui::Label *m_pAllies_Score; + vgui::Label *m_pAllies_Kills; + vgui::Label *m_pAllies_Deaths; + vgui::Label *m_pAllies_Ping; + + vgui::Label *m_pAxis_PlayerCount; + vgui::Label *m_pAxis_Score; + vgui::Label *m_pAxis_Kills; + vgui::Label *m_pAxis_Deaths; + vgui::Label *m_pAxis_Ping; +}; + + +#endif // DODCLIENTSCOREBOARDDIALOG_H |