70 lines
1.8 KiB
C++
70 lines
1.8 KiB
C++
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose: Displays HUD elements to indicate damage taken
|
|
//
|
|
//=====================================================================================//
|
|
#ifndef SFHUDDAMAGEINDICATOR_H_
|
|
#define SFHUDDAMAGEINDICATOR_H_
|
|
|
|
#include "hud.h"
|
|
#include "hud_element_helper.h"
|
|
#include "scaleformui/scaleformui.h"
|
|
#include "sfhudflashinterface.h"
|
|
|
|
class SFHudDamageIndicator : public SFHudFlashInterface
|
|
{
|
|
enum DamageDirection
|
|
{
|
|
SFDD_DamageUp = 0,
|
|
SFDD_DamageDown,
|
|
SFDD_DamageLeft,
|
|
SFDD_DamageRight,
|
|
|
|
SFDD_DamageTotal, // also means turn on damage from all directions
|
|
SFDD_DamageFirst = SFDD_DamageUp
|
|
};
|
|
|
|
public:
|
|
explicit SFHudDamageIndicator( const char *value );
|
|
virtual ~SFHudDamageIndicator();
|
|
|
|
// These overload the CHudElement class
|
|
virtual void ProcessInput( void );
|
|
virtual void LevelInit( void );
|
|
virtual void LevelShutdown( void );
|
|
virtual bool ShouldDraw( void );
|
|
virtual void SetActive( bool bActive );
|
|
|
|
virtual void Reset( void );
|
|
|
|
// these overload the ScaleformFlashInterfaceMixin class
|
|
virtual void FlashReady( void );
|
|
virtual bool PreUnloadFlash( void );
|
|
|
|
// Handler for our message
|
|
bool MsgFunc_Damage( const CCSUsrMsg_Damage &msg );
|
|
|
|
CUserMessageBinder m_UMCMsgDamage;
|
|
|
|
protected:
|
|
void IndicateDamage( DamageDirection dmgDir, float newPercentage );
|
|
void HideAll( void );
|
|
|
|
private:
|
|
void CalcDamageDirection( const Vector &vecFrom, C_BasePlayer *pVictimPlayer );
|
|
|
|
protected:
|
|
|
|
float m_lastFrameTime;
|
|
|
|
// Parameters copied from cs_hud_damageindicator:
|
|
float m_flAttackFront;
|
|
float m_flAttackRear;
|
|
float m_flAttackLeft;
|
|
float m_flAttackRight;
|
|
float m_flFadeCompleteTime; //don't draw past this time
|
|
};
|
|
|
|
|
|
#endif /* SFHUDINFOPANEL_H_ */
|