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.
79 lines
2.3 KiB
79 lines
2.3 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
//=============================================================================
|
||
|
|
||
|
#ifndef TF_PLAYERPANEL_H
|
||
|
#define TF_PLAYERPANEL_H
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#include "tf_spectatorgui.h"
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose: Custom health panel used to show spectator target's health in Tournament HUD
|
||
|
//-----------------------------------------------------------------------------
|
||
|
class CTFPlayerPanelGUIHealth : public CTFSpectatorGUIHealth
|
||
|
{
|
||
|
public:
|
||
|
CTFPlayerPanelGUIHealth( Panel *parent, const char *name ) : CTFSpectatorGUIHealth( parent, name )
|
||
|
{
|
||
|
}
|
||
|
|
||
|
virtual const char *GetResFilename( void )
|
||
|
{
|
||
|
return "resource/UI/SpectatorTournamentGUIHealth.res";
|
||
|
}
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose: A panel representing a player, shown in tournament mode Spec GUI
|
||
|
//-----------------------------------------------------------------------------
|
||
|
class CTFPlayerPanel : public vgui::EditablePanel
|
||
|
{
|
||
|
DECLARE_CLASS_SIMPLE( CTFPlayerPanel, vgui::EditablePanel );
|
||
|
public:
|
||
|
CTFPlayerPanel( vgui::Panel *parent, const char *name );
|
||
|
|
||
|
virtual void Reset( void );
|
||
|
virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
|
||
|
|
||
|
virtual bool Update( void );
|
||
|
void SetPlayerIndex( int iIndex );
|
||
|
int GetPlayerIndex( void ) { return m_iPlayerIndex; }
|
||
|
void Setup( int iPlayerIndex, CSteamID steamID, const char *pszPlayerName, int nLobbyTeam = TEAM_INVALID );
|
||
|
void SetSpecIndex( int iIndex );
|
||
|
int GetSpecIndex( void ) { return m_iSpecIndex; }
|
||
|
virtual void UpdateBorder( void );
|
||
|
int GetTeam( void );
|
||
|
|
||
|
inline CSteamID GetSteamID() const { return m_steamID; }
|
||
|
|
||
|
protected:
|
||
|
int m_iPlayerIndex;
|
||
|
CUtlString m_sPlayerName;
|
||
|
CSteamID m_steamID;
|
||
|
int m_iSpecIndex;
|
||
|
CTFClassImage *m_pClassImage;
|
||
|
CTFPlayerPanelGUIHealth *m_pHealthIcon;
|
||
|
int m_iPrevHealth;
|
||
|
bool m_bPrevAlive;
|
||
|
int m_iPrevClass;
|
||
|
int m_iPrevRespawnWait;
|
||
|
int m_iPrevCharge;
|
||
|
vgui::ScalableImagePanel *m_pReadyBG;
|
||
|
vgui::ImagePanel *m_pReadyImage;
|
||
|
|
||
|
// Ready state
|
||
|
bool m_bPrevReady;
|
||
|
int m_iPrevState;
|
||
|
bool m_bPlayerReadyModeActive;
|
||
|
int m_nGCTeam;
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
#endif // TF_PLAYERPANEL_H
|