hl2_src-leak-2017/src/game/client/tf2/playeroverlayclass.h

72 lines
1.6 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $Workfile: $
// $Date: $
// $NoKeywords: $
//=============================================================================//
#if !defined( PLAYEROVERLAYCLASS_H )
#define PLAYEROVERLAYCLASS_H
#ifdef _WIN32
#pragma once
#endif
#include "vgui_basepanel.h"
class BitmapImage;
class KeyValues;
class CHudPlayerOverlay;
class CHudPlayerOverlayClass : public CBasePanel
{
public:
DECLARE_CLASS( CHudPlayerOverlayClass, CBasePanel );
CHudPlayerOverlayClass( CHudPlayerOverlay *baseOverlay );
virtual ~CHudPlayerOverlayClass( void );
bool Init( KeyValues* pKeyValues );
void SetColor( int r, int g, int b, int a );
void SetImage( BitmapImage *pImage );
void SetTeamAndClass( int team, int playerclass );
// Keeps the image size correct
virtual void SetSize( int w, int h );
virtual void Paint( void );
virtual void OnCursorEntered();
virtual void OnCursorExited();
private:
class CMapClassColors
{
public:
CMapClassColors() : m_pClassImage(0) {}
BitmapImage *m_pClassImage;
Color m_clrClass;
};
// Initialize class info only once
static bool InitClassInfo( KeyValues* pKeyValues );
static bool ParseTeamClassInfo( KeyValues *pClassIcons, const char *classname, CMapClassColors *pClassColors );
static bool ParseTeamClassIcons( CMapClassColors *pT, KeyValues *pTeam );
static CMapClassColors** s_ppClassInfo;
int m_r, m_g, m_b, m_a;
BitmapImage *m_pImage;
Color m_fgColor;
Color m_bgColor;
CHudPlayerOverlay *m_pBaseOverlay;
friend class CCleanupPlayerOverlayClass;
};
#endif // PLAYEROVERLAYCLASS_H