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.

66 lines
1.3 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef TF_HUD_BASE_BUILD_MENU
  8. #define TF_HUD_BASE_BUILD_MENU
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include <vgui_controls/EditablePanel.h>
  13. #include "hudelement.h"
  14. #include "c_tf_player.h"
  15. #include "tf_weaponbase.h"
  16. using namespace vgui;
  17. class CHudBaseBuildMenu : public CHudElement, public EditablePanel
  18. {
  19. DECLARE_CLASS_SIMPLE( CHudBaseBuildMenu, EditablePanel );
  20. public:
  21. CHudBaseBuildMenu( const char *pElementName, const char *pMenuName )
  22. : CHudElement( pElementName )
  23. , BaseClass( NULL, pMenuName )
  24. {
  25. m_bBuilderEquipped = false;
  26. }
  27. virtual bool ShouldDraw( void ) OVERRIDE
  28. {
  29. CTFPlayer *pPlayer = C_TFPlayer::GetLocalTFPlayer();
  30. if ( !pPlayer )
  31. return false;
  32. CTFWeaponBase *pWpn = pPlayer->GetActiveTFWeapon();
  33. if ( !pWpn )
  34. return false;
  35. // Don't show the menu for first person spectator
  36. if ( pPlayer != pWpn->GetOwner() )
  37. return false;
  38. if ( !CHudElement::ShouldDraw() )
  39. return false;
  40. return m_bBuilderEquipped;
  41. }
  42. void SetBuilderEquipped( bool bEquipped )
  43. {
  44. m_bBuilderEquipped = bEquipped;
  45. }
  46. private:
  47. bool m_bBuilderEquipped;
  48. };
  49. #endif // TF_HUD_BASE_BUILD_MENU