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.
78 lines
2.3 KiB
78 lines
2.3 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#ifndef DOD_HUD_PLAYERSTATUS_HEALTH_H |
|
#define DOD_HUD_PLAYERSTATUS_HEALTH_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
class C_DODPlayer; |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Health playerclass image (with red transparency) |
|
//----------------------------------------------------------------------------- |
|
class CDoDHudHealthBar : public vgui::ImagePanel |
|
{ |
|
DECLARE_CLASS_SIMPLE( CDoDHudHealthBar, vgui::ImagePanel ); |
|
|
|
public: |
|
CDoDHudHealthBar( vgui::Panel *parent, const char *name ); |
|
|
|
virtual void ApplySchemeSettings( vgui::IScheme *pScheme ); |
|
|
|
virtual void OnThink(); |
|
virtual void Paint( void ); |
|
|
|
void SetHealthDelegatePlayer( C_DODPlayer *pPlayer ); |
|
C_DODPlayer *GetHealthDelegatePlayer( void ); |
|
|
|
private: |
|
float m_flPercentage; |
|
|
|
int m_iMaterialIndex; |
|
Color m_clrHealthHigh; |
|
Color m_clrHealthMed; |
|
Color m_clrHealthLow; |
|
Color m_clrBackground; |
|
Color m_clrBorder; |
|
|
|
EHANDLE m_hHealthDelegatePlayer; |
|
|
|
CPanelAnimationVar( float, m_flFirstWarningLevel, "FirstWarning", "0.50" ); |
|
CPanelAnimationVar( float, m_flSecondWarningLevel, "SecondWarning", "0.25" ); |
|
}; |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Health panel |
|
//----------------------------------------------------------------------------- |
|
class CDoDHudHealth : public vgui::EditablePanel |
|
{ |
|
DECLARE_CLASS_SIMPLE( CDoDHudHealth, vgui::EditablePanel ); |
|
|
|
public: |
|
CDoDHudHealth( vgui::Panel *parent, const char *name ); |
|
|
|
virtual void OnThink(); |
|
virtual void OnScreenSizeChanged(int iOldWide, int iOldTall); |
|
|
|
void SetHealthDelegatePlayer( C_DODPlayer *pPlayer ); |
|
C_DODPlayer *GetHealthDelegatePlayer( void ); |
|
|
|
private: |
|
int m_nPrevClass; // used to store the player's class so we don't have to keep setting the image |
|
int m_nPrevTeam; |
|
|
|
CDoDHudHealthBar *m_pHealthBar; |
|
|
|
vgui::ImagePanel *m_pClassImage; // draws the class image and the red "damage taken" part |
|
vgui::ImagePanel *m_pClassImageBG; // draws the class image outline |
|
|
|
EHANDLE m_hHealthDelegatePlayer; |
|
}; |
|
|
|
#endif // DOD_HUD_PLAYERSTATUS_HEALTH_H
|
|
|