diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/client/cstrike/cs_hud_achievement_tracker.cpp | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'game/client/cstrike/cs_hud_achievement_tracker.cpp')
| -rw-r--r-- | game/client/cstrike/cs_hud_achievement_tracker.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/game/client/cstrike/cs_hud_achievement_tracker.cpp b/game/client/cstrike/cs_hud_achievement_tracker.cpp new file mode 100644 index 0000000..ce8958a --- /dev/null +++ b/game/client/cstrike/cs_hud_achievement_tracker.cpp @@ -0,0 +1,68 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +#include "cbase.h" +#include "hud_baseachievement_tracker.h" +#include "c_cs_player.h" +#include "iachievementmgr.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +// The number of counter-strike HUD achievements to display +const int cMaxCSHUDAchievments = 4; + + +using namespace vgui; + +class CHudAchievementTracker : public CHudBaseAchievementTracker +{ + DECLARE_CLASS_SIMPLE( CHudAchievementTracker, CHudBaseAchievementTracker ); + +public: + CHudAchievementTracker( const char *pElementName ); + virtual void OnThink(); + virtual void PerformLayout(); + virtual int GetMaxAchievementsShown(); + virtual bool ShouldShowAchievement( IAchievement *pAchievement ); + +private: + CPanelAnimationVarAliasType( int, m_iNormalY, "NormalY", "5", "proportional_int" ); +}; + +DECLARE_HUDELEMENT( CHudAchievementTracker ); + + +CHudAchievementTracker::CHudAchievementTracker( const char *pElementName ) : BaseClass( pElementName ) +{ + RegisterForRenderGroup( "hide_for_scoreboard" ); +} + +void CHudAchievementTracker::OnThink() +{ + BaseClass::OnThink(); +} + +int CHudAchievementTracker::GetMaxAchievementsShown() +{ + return MIN( BaseClass::GetMaxAchievementsShown(), cMaxCSHUDAchievments ); +} + +void CHudAchievementTracker::PerformLayout() +{ + BaseClass::PerformLayout(); + + int x, y; + GetPos( x, y ); + SetPos( x, m_iNormalY ); +} + +bool CHudAchievementTracker::ShouldShowAchievement( IAchievement *pAchievement ) +{ + if ( !BaseClass::ShouldShowAchievement(pAchievement) ) + return false; + + C_CSPlayer *pPlayer = CCSPlayer::GetLocalCSPlayer(); + if ( !pPlayer ) + return false; + + return true; +}
\ No newline at end of file |