mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-09-01 23:19:18 +00:00
upload "kind" alien swarm
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
#ifndef ASW_3D_MARINE_NAMES
|
||||
#define ASW_3D_MARINE_NAMES
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "asw_input.h"
|
||||
#include "iinput.h"
|
||||
#include "hud.h"
|
||||
#include <vgui_controls/Label.h>
|
||||
|
||||
using namespace vgui;
|
||||
|
||||
#include "asw_hudelement.h"
|
||||
|
||||
#include "c_asw_marine.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Shows the marines names drawn on top of the 3D view
|
||||
//-----------------------------------------------------------------------------
|
||||
class CASWHud3DMarineNames : public vgui::Panel, public CASW_HudElement
|
||||
{
|
||||
DECLARE_CLASS_SIMPLE( CASWHud3DMarineNames, vgui::Panel );
|
||||
|
||||
public:
|
||||
CASWHud3DMarineNames( const char *pElementName );
|
||||
~CASWHud3DMarineNames();
|
||||
virtual void Init( void );
|
||||
virtual void VidInit( void );
|
||||
virtual void Reset( void );
|
||||
virtual void Paint();
|
||||
virtual void OnThink();
|
||||
virtual void PaintMarineNameLabels();
|
||||
virtual void PaintAimingDebug();
|
||||
virtual void PaintMarineLabel( int index, C_ASW_Marine *pMarine, C_ASW_Marine_Resource *pMR, bool bLocal );
|
||||
void PaintTrackedHealth();
|
||||
void PaintBoxesAroundUseEntities();
|
||||
void PaintBoxAround(C_BaseEntity* pEnt, int padding);
|
||||
virtual void ApplySchemeSettings(IScheme *pScheme);
|
||||
virtual bool ShouldDraw( void );
|
||||
virtual void PaintAutoaimCrosshairOn(C_BaseEntity *pEnt);
|
||||
bool PaintHealthBar( C_ASW_Marine *pMarine, float xPos, float yPos, bool bOnScreen );
|
||||
void PaintFontTest();
|
||||
void PaintBossHealth();
|
||||
void PaintTalkingIcon( C_ASW_Marine *pMarine, float xPos, float yPos );
|
||||
|
||||
float GetUsingFraction( C_ASW_Marine *pMarine );
|
||||
|
||||
// ugh, these really need to be pulled out into another class
|
||||
// aliens are calling into this, which is just bad.
|
||||
bool PaintUsingBar( C_ASW_Marine *pMarine, float xPos, float yPos );
|
||||
bool PaintReloadBar( C_ASW_Weapon *pWeapon, float xPos, float yPos );
|
||||
bool PaintGenericBar( Vector vWorldPos, float flProgress, Color rgbaBarColor = Color( 255, 255, 255, 255 ), float flSizeMultiplier = 1.0f, const Vector2D &offset = Vector2D(0, 0) );
|
||||
bool PaintGenericText( Vector vWorldPos, char *pText, Color vTextColor = Color( 255, 255, 255, 255 ), float flSizeMultiplier = 1.0f, const Vector2D &offset = Vector2D(0, 0) );
|
||||
|
||||
// marine health tooltip stuff
|
||||
void UpdateHealthTooltip();
|
||||
void SetHealthMarine(C_ASW_Marine *pMarine);
|
||||
float m_fHealthAlpha;
|
||||
CHandle<C_ASW_Marine> m_hHealthQueuedMarine;
|
||||
CHandle<C_ASW_Marine> m_hHealthMarine;
|
||||
bool m_bHealthQueuedMarine;
|
||||
|
||||
CPanelAnimationVar( vgui::HFont, m_hMarineNameFont, "MarineNameFont", "Default" );
|
||||
CPanelAnimationVar( vgui::HFont, m_hSmallMarineNameFont, "SmallMarineNameFont", "DefaultSmall" );
|
||||
CPanelAnimationVar( vgui::HFont, m_hPlayerNameFont, "PlayerNameFont", "DefaultSmall" );
|
||||
CPanelAnimationVar( vgui::HFont, m_hMarineHealthFont, "MarineHealthFont", "Default" );
|
||||
CPanelAnimationVarAliasType( int, m_nMarinePointerTexture, "MarinePointerTexture", "vgui/swarm/HUD/MarinePointer", "textureid" );
|
||||
CPanelAnimationVarAliasType( int, m_nBlackBarTexture, "BlackBarTexture", "vgui/swarm/HUD/ASWHUDBlackBar", "textureid" );
|
||||
CPanelAnimationVarAliasType( int, m_nAutoaimCrosshairTexture, "AutoaimCrosshairTexture", "vgui/swarm/HUD/AutoAimCrosshair", "textureid" );
|
||||
CPanelAnimationVarAliasType( int, m_nWhiteTexture, "WhiteTexture", "vgui/white", "textureid" );
|
||||
CPanelAnimationVarAliasType( int, m_nHorizHealthBar, "HealthBarTexture", "vgui/swarm/HUD/HorizHealthBar", "textureid" );
|
||||
CPanelAnimationVarAliasType( int, m_nVertAmmoBar, "VertAmmoBarTexture", "vgui/swarm/HUD/VertAmmoBar", "textureid" );
|
||||
CPanelAnimationVarAliasType( int, m_nOfficerClassIcon, "OfficerClassIcon", "vgui/swarm/ClassIcons/NCOClassIcon", "textureid" );
|
||||
CPanelAnimationVarAliasType( int, m_nSWClassIcon, "SWClassIcon", "vgui/swarm/ClassIcons/SpecialWeaponsClassIcon", "textureid" );
|
||||
CPanelAnimationVarAliasType( int, m_nMedicClassIcon, "MedicClassIcon", "vgui/swarm/ClassIcons/MedicClassIcon", "textureid" );
|
||||
CPanelAnimationVarAliasType( int, m_nTechClassIcon, "TechClassIcon", "vgui/swarm/ClassIcons/TechClassIcon", "textureid" );
|
||||
CPanelAnimationVarAliasType( int, m_nTalkingIcon, "TalkingIcon", "voice/voice_icon_hud", "textureid" );
|
||||
CPanelAnimationVarAliasType( int, m_nFastReloadBarBG, "FastReloadBarBG", "vgui/swarm/HUD/HorizHealthBar", "textureid" );
|
||||
|
||||
private:
|
||||
inline float GetHealthBarMaxWidth( bool bKnockedOut ) const;
|
||||
inline float GetHealthBarMaxHeight( bool bKnockedOut ) const;
|
||||
inline float GetUsingBarMaxHeight() const;
|
||||
inline float GetUsingBarMaxWidth() const;
|
||||
inline float GetClassIconSize( bool bOnScreen );
|
||||
inline float GetTalkingIconSize();
|
||||
CPlayerBitVec m_3DSpeakingList;
|
||||
float m_flLastTalkingTime[ASW_MAX_PLAYERS];
|
||||
|
||||
float m_flLastReloadProgress;
|
||||
float m_flLastNextAttack;
|
||||
float m_flLastFastReloadStart;
|
||||
float m_flLastFastReloadEnd;
|
||||
};
|
||||
|
||||
|
||||
#endif // ASW_3D_MARINE_NAMES
|
||||
Reference in New Issue
Block a user