initial
This commit is contained in:
99
game/client/hud_basedeathnotice.h
Normal file
99
game/client/hud_basedeathnotice.h
Normal file
@@ -0,0 +1,99 @@
|
||||
//========= Copyright <20> 1996-2006, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef HUD_BASEDEATHNOTICE_H
|
||||
#define HUD_BASEDEATHNOTICE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// Player entries in a death notice
|
||||
struct DeathNoticePlayer
|
||||
{
|
||||
DeathNoticePlayer()
|
||||
{
|
||||
szName[0] = 0;
|
||||
iTeam = TEAM_UNASSIGNED;
|
||||
}
|
||||
char szName[MAX_PLAYER_NAME_LENGTH*2]; // big enough for player name and additional information
|
||||
int iTeam; // team #
|
||||
};
|
||||
|
||||
// Contents of each entry in our list of death notices
|
||||
struct DeathNoticeItem
|
||||
{
|
||||
DeathNoticeItem()
|
||||
{
|
||||
szIcon[0]=0;
|
||||
wzInfoText[0]=0;
|
||||
iconDeath = NULL;
|
||||
bSelfInflicted = false;
|
||||
flCreationTime = 0;
|
||||
bLocalPlayerInvolved = false;
|
||||
}
|
||||
|
||||
float GetExpiryTime();
|
||||
|
||||
DeathNoticePlayer Killer;
|
||||
DeathNoticePlayer Victim;
|
||||
char szIcon[32]; // name of icon to display
|
||||
wchar_t wzInfoText[32]; // any additional text to display next to icon
|
||||
CHudTexture *iconDeath;
|
||||
bool bSelfInflicted;
|
||||
float flCreationTime;
|
||||
bool bLocalPlayerInvolved;
|
||||
};
|
||||
|
||||
#define NUM_CORNER_COORD 10
|
||||
#define NUM_BACKGROUND_COORD NUM_CORNER_COORD*4
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CHudBaseDeathNotice : public CHudElement, public vgui::Panel
|
||||
{
|
||||
DECLARE_CLASS_SIMPLE( CHudBaseDeathNotice, vgui::Panel );
|
||||
public:
|
||||
explicit CHudBaseDeathNotice( const char *pElementName );
|
||||
|
||||
void VidInit( void );
|
||||
virtual void Init( void );
|
||||
virtual bool ShouldDraw( void );
|
||||
virtual void Paint( void );
|
||||
virtual void ApplySchemeSettings( vgui::IScheme *scheme );
|
||||
|
||||
void RetireExpiredDeathNotices( void );
|
||||
|
||||
void FireGameEvent( IGameEvent *event );
|
||||
|
||||
protected:
|
||||
virtual Color GetTeamColor( int iTeamNumber );
|
||||
virtual void OnGameEvent( IGameEvent *event, DeathNoticeItem &deathNoticeItem ) {};
|
||||
void DrawText( int x, int y, vgui::HFont hFont, Color clr, const wchar_t *szText );
|
||||
int AddDeathNoticeItem();
|
||||
void GetBackgroundPolygonVerts( int x0, int y0, int x1, int y1, int iVerts, vgui::Vertex_t vert[] );
|
||||
void CalcRoundedCorners();
|
||||
CHudTexture *GetIcon( const char *szIcon, bool bInvert );
|
||||
|
||||
void GetLocalizedControlPointName( IGameEvent *event, char *namebuf, int namelen );
|
||||
|
||||
CPanelAnimationVarAliasType( float, m_flLineHeight, "LineHeight", "16", "proportional_float" );
|
||||
CPanelAnimationVarAliasType( float, m_flLineSpacing, "LineSpacing", "4", "proportional_float" );
|
||||
CPanelAnimationVarAliasType( float, m_flCornerRadius, "CornerRadius", "3", "proportional_float" );
|
||||
CPanelAnimationVar( float, m_flMaxDeathNotices, "MaxDeathNotices", "4" );
|
||||
CPanelAnimationVar( bool, m_bRightJustify, "RightJustify", "1" );
|
||||
CPanelAnimationVar( vgui::HFont, m_hTextFont, "TextFont", "Default" );
|
||||
CPanelAnimationVar( Color, m_clrIcon, "IconColor", "255 80 0 255" );
|
||||
CPanelAnimationVar( Color, m_clrBaseBGColor, "BaseBackgroundColor", "46 43 42 220" );
|
||||
CPanelAnimationVar( Color, m_clrLocalBGColor, "LocalBackgroundColor", "245 229 196 200" );
|
||||
|
||||
CUtlVector<DeathNoticeItem> m_DeathNotices;
|
||||
|
||||
Vector2D m_CornerCoord[NUM_CORNER_COORD];
|
||||
};
|
||||
|
||||
#endif // HUD_BASEDEATHNOTICE_H
|
||||
Reference in New Issue
Block a user