Team Fortress 2 Source Code as on 22/4/2020
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
3.1 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef DOD_HUD_PLAYERSTATUS_AMMO_H
  8. #define DOD_HUD_PLAYERSTATUS_AMMO_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. //-----------------------------------------------------------------------------
  13. // Purpose: Displays current ammunition level
  14. //-----------------------------------------------------------------------------
  15. class CDoDHudAmmo : public vgui::Panel
  16. {
  17. DECLARE_CLASS_SIMPLE( CDoDHudAmmo, vgui::Panel );
  18. public:
  19. CDoDHudAmmo( vgui::Panel *parent, const char *name );
  20. void Init( void );
  21. void SetAmmo( int ammo, bool playAnimation );
  22. void SetAmmo2( int ammo2, bool playAnimation );
  23. virtual void OnThink();
  24. virtual void Paint( void );
  25. virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
  26. private:
  27. void DrawAmmoCount( int count );
  28. void DrawText( char *text, int x, int y, Color clrText );
  29. void DrawNumbers( int num, int x, int y );
  30. void PaintGrenadeAmmo( CWeaponDODBase *pWpn );
  31. void PaintBazookaAmmo( CWeaponDODBase *pWpn );
  32. void PaintMGAmmo( CWeaponDODBase *pWpn );
  33. void PaintGunAmmo( CWeaponDODBase *pWpn );
  34. void PaintRifleGrenadeAmmo( CWeaponDODBase *pWpn );
  35. CHandle< C_BaseCombatWeapon > m_hCurrentActiveWeapon;
  36. int m_iAmmo;
  37. int m_iAmmo2;
  38. bool m_bUsesClips;
  39. int m_iAdditiveWhiteID;
  40. Color m_clrTextColor;
  41. Color m_clrTextXColor;
  42. CPanelAnimationVarAliasType( float, clip_count_text_xpos, "clip_count_text_xpos", "54", "proportional_float" );
  43. CPanelAnimationVarAliasType( float, clip_count_text_ypos, "clip_count_text_ypos", "16", "proportional_float" );
  44. CPanelAnimationVarAliasType( float, large_icon_xpos, "large_icon_xpos", "0", "proportional_float" );
  45. CPanelAnimationVarAliasType( float, large_icon_ypos, "large_icon_ypos", "0", "proportional_float" );
  46. CPanelAnimationVarAliasType( float, large_icon_width, "large_icon_width", "32", "proportional_float" );
  47. CPanelAnimationVarAliasType( float, large_icon_height, "large_icon_height", "51", "proportional_float" );
  48. CPanelAnimationVarAliasType( float, small_icon_xpos, "small_icon_xpos", "0", "proportional_float" );
  49. CPanelAnimationVarAliasType( float, small_icon_ypos, "small_icon_ypos", "0", "proportional_float" );
  50. CPanelAnimationVarAliasType( float, small_icon_width, "small_icon_width", "2", "proportional_float" );
  51. CPanelAnimationVarAliasType( float, small_icon_height, "small_icon_height", "2", "proportional_float" );
  52. CPanelAnimationVarAliasType( float, extra_clip_xpos, "extra_clip_xpos", "35", "proportional_float" );
  53. CPanelAnimationVarAliasType( float, extra_clip_ypos, "extra_clip_ypos", "20", "proportional_float" );
  54. CPanelAnimationVarAliasType( float, extra_clip_width, "extra_clip_width", "16", "proportional_float" );
  55. CPanelAnimationVarAliasType( float, extra_clip_height, "extra_clip_height", "16", "proportional_float" );
  56. CPanelAnimationVar( vgui::HFont, m_hNumberFont, "NumberFont", "HudSelectionNumbers" );
  57. Color m_clrIcon;
  58. CHudTexture *m_pMGNumbers[10];
  59. };
  60. #endif // DOD_HUD_PLAYERSTATUS_AMMO_H