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.
90 lines
2.3 KiB
90 lines
2.3 KiB
3 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
// $NoKeywords: $
|
||
|
//=============================================================================//
|
||
|
|
||
|
#ifndef DOD_HUD_DEATHSTATS_H
|
||
|
#define DOD_HUD_DEATHSTATS_H
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#include <vgui_controls/EditablePanel.h>
|
||
|
#include <game/client/iviewport.h>
|
||
|
#include <vgui/IScheme.h>
|
||
|
#include <vgui_controls/Label.h>
|
||
|
#include "hud.h"
|
||
|
#include "hudelement.h"
|
||
|
#include "dod_shareddefs.h"
|
||
|
|
||
|
using namespace vgui;
|
||
|
|
||
|
#define MAX_DEATHSTATS_NAME_LENGTH 128 // to hold multiple player cappers
|
||
|
|
||
|
// Player entries in a death notice
|
||
|
struct DeathStatsPlayer
|
||
|
{
|
||
|
char szName[MAX_DEATHSTATS_NAME_LENGTH];
|
||
|
int iEntIndex;
|
||
|
};
|
||
|
|
||
|
// Contents of each entry in our list of death notices
|
||
|
struct DeathStatsRecord
|
||
|
{
|
||
|
DeathStatsPlayer Killer;
|
||
|
DeathStatsPlayer Victim;
|
||
|
CHudTexture *iconDeath;
|
||
|
bool bSuicide;
|
||
|
};
|
||
|
|
||
|
class CDODDeathStatsPanel : public EditablePanel, public CHudElement
|
||
|
{
|
||
|
private:
|
||
|
DECLARE_CLASS_SIMPLE( CDODDeathStatsPanel, EditablePanel );
|
||
|
|
||
|
public:
|
||
|
CDODDeathStatsPanel( const char *pElementName );
|
||
|
|
||
|
virtual void Reset();
|
||
|
virtual void Init();
|
||
|
virtual void VidInit();
|
||
|
virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
|
||
|
virtual void OnScreenSizeChanged( int iOldWide, int iOldTall );
|
||
|
|
||
|
virtual void FireGameEvent( IGameEvent * event);
|
||
|
virtual void Paint( void );
|
||
|
int DrawDeathNoticeItem( int xRight, int y );
|
||
|
|
||
|
void Show() { SetAlpha( 255 ); }
|
||
|
void Hide() { SetAlpha( 0 ); }
|
||
|
|
||
|
protected:
|
||
|
|
||
|
vgui::Label *m_pSummaryLabel;
|
||
|
vgui::Label *m_pAttackerHistoryLabel;
|
||
|
|
||
|
DeathStatsRecord m_DeathRecord;
|
||
|
|
||
|
int m_iMaterialTexture;
|
||
|
|
||
|
// Special death notice icons
|
||
|
CHudTexture *m_iconD_skull;
|
||
|
|
||
|
// Icons for stats
|
||
|
CHudTexture *m_pIconKill;
|
||
|
CHudTexture *m_pIconWounded;
|
||
|
CHudTexture *m_pIconCap;
|
||
|
CHudTexture *m_pIconDefended;
|
||
|
|
||
|
|
||
|
CPanelAnimationVar( vgui::HFont, m_hTextFont, "TextFont", "HudNumbersTimer" );
|
||
|
CPanelAnimationVarAliasType( float, m_flLineHeight, "LineHeight", "15", "proportional_float" );
|
||
|
CPanelAnimationVar( Color, m_ActiveBackgroundColor, "ActiveBackgroundColor", "255 255 255 140" );
|
||
|
|
||
|
CPanelAnimationVarAliasType( int, m_iDeathNoticeX, "DeathNoticeX", "5", "proportional_int" );
|
||
|
CPanelAnimationVarAliasType( int, m_iDeathNoticeY, "DeathNoticeY", "5", "proportional_int" );
|
||
|
};
|
||
|
|
||
|
#endif //DOD_HUD_DEATHSTATS_H
|