diff options
Diffstat (limited to 'game/client/dod/dod_hud_playerstatus_ammo.h')
| -rw-r--r-- | game/client/dod/dod_hud_playerstatus_ammo.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/game/client/dod/dod_hud_playerstatus_ammo.h b/game/client/dod/dod_hud_playerstatus_ammo.h new file mode 100644 index 0000000..2a3f437 --- /dev/null +++ b/game/client/dod/dod_hud_playerstatus_ammo.h @@ -0,0 +1,79 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef DOD_HUD_PLAYERSTATUS_AMMO_H +#define DOD_HUD_PLAYERSTATUS_AMMO_H +#ifdef _WIN32 +#pragma once +#endif + +//----------------------------------------------------------------------------- +// Purpose: Displays current ammunition level +//----------------------------------------------------------------------------- +class CDoDHudAmmo : public vgui::Panel +{ + DECLARE_CLASS_SIMPLE( CDoDHudAmmo, vgui::Panel ); + +public: + CDoDHudAmmo( vgui::Panel *parent, const char *name ); + void Init( void ); + + void SetAmmo( int ammo, bool playAnimation ); + void SetAmmo2( int ammo2, bool playAnimation ); + + virtual void OnThink(); + virtual void Paint( void ); + virtual void ApplySchemeSettings( vgui::IScheme *pScheme ); + +private: + void DrawAmmoCount( int count ); + void DrawText( char *text, int x, int y, Color clrText ); + void DrawNumbers( int num, int x, int y ); + + void PaintGrenadeAmmo( CWeaponDODBase *pWpn ); + void PaintBazookaAmmo( CWeaponDODBase *pWpn ); + void PaintMGAmmo( CWeaponDODBase *pWpn ); + void PaintGunAmmo( CWeaponDODBase *pWpn ); + void PaintRifleGrenadeAmmo( CWeaponDODBase *pWpn ); + + CHandle< C_BaseCombatWeapon > m_hCurrentActiveWeapon; + int m_iAmmo; + int m_iAmmo2; + + bool m_bUsesClips; + + int m_iAdditiveWhiteID; + + Color m_clrTextColor; + Color m_clrTextXColor; + + CPanelAnimationVarAliasType( float, clip_count_text_xpos, "clip_count_text_xpos", "54", "proportional_float" ); + CPanelAnimationVarAliasType( float, clip_count_text_ypos, "clip_count_text_ypos", "16", "proportional_float" ); + + CPanelAnimationVarAliasType( float, large_icon_xpos, "large_icon_xpos", "0", "proportional_float" ); + CPanelAnimationVarAliasType( float, large_icon_ypos, "large_icon_ypos", "0", "proportional_float" ); + CPanelAnimationVarAliasType( float, large_icon_width, "large_icon_width", "32", "proportional_float" ); + CPanelAnimationVarAliasType( float, large_icon_height, "large_icon_height", "51", "proportional_float" ); + + CPanelAnimationVarAliasType( float, small_icon_xpos, "small_icon_xpos", "0", "proportional_float" ); + CPanelAnimationVarAliasType( float, small_icon_ypos, "small_icon_ypos", "0", "proportional_float" ); + CPanelAnimationVarAliasType( float, small_icon_width, "small_icon_width", "2", "proportional_float" ); + CPanelAnimationVarAliasType( float, small_icon_height, "small_icon_height", "2", "proportional_float" ); + + CPanelAnimationVarAliasType( float, extra_clip_xpos, "extra_clip_xpos", "35", "proportional_float" ); + CPanelAnimationVarAliasType( float, extra_clip_ypos, "extra_clip_ypos", "20", "proportional_float" ); + CPanelAnimationVarAliasType( float, extra_clip_width, "extra_clip_width", "16", "proportional_float" ); + CPanelAnimationVarAliasType( float, extra_clip_height, "extra_clip_height", "16", "proportional_float" ); + + CPanelAnimationVar( vgui::HFont, m_hNumberFont, "NumberFont", "HudSelectionNumbers" ); + + Color m_clrIcon; + + CHudTexture *m_pMGNumbers[10]; +}; + +#endif // DOD_HUD_PLAYERSTATUS_AMMO_H |