mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-14 12:46:58 +00:00
1
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef CSBASESTATSPAGE_H
|
||||
#define CSBASESTATSPAGE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "vgui_controls/PanelListPanel.h"
|
||||
#include "vgui_controls/Label.h"
|
||||
#include "tier1/KeyValues.h"
|
||||
#include "vgui_controls/PropertyPage.h"
|
||||
#include "vgui_controls/Button.h"
|
||||
#include "vgui_controls/ImagePanel.h"
|
||||
#include "GameEventListener.h"
|
||||
|
||||
struct PlayerStatData_t;
|
||||
class IScheme;
|
||||
class CBaseStatGroupPanel;
|
||||
class StatCard;
|
||||
struct StatsCollection_t;
|
||||
struct RoundStatsDirectAverage_t;
|
||||
|
||||
class CBaseStatsPage : public vgui::PropertyPage, public CGameEventListener
|
||||
{
|
||||
DECLARE_CLASS_SIMPLE ( CBaseStatsPage, vgui::PropertyPage );
|
||||
|
||||
public:
|
||||
CBaseStatsPage( vgui::Panel *parent, const char *name );
|
||||
|
||||
~CBaseStatsPage();
|
||||
|
||||
virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
|
||||
virtual void MoveToFront();
|
||||
virtual void OnSizeChanged(int wide, int tall);
|
||||
virtual void OnThink();
|
||||
|
||||
void UpdateStatsData();
|
||||
void SetActiveStatGroup (CBaseStatGroupPanel* groupPanel);
|
||||
|
||||
virtual void FireGameEvent( IGameEvent * event );
|
||||
|
||||
protected:
|
||||
|
||||
void UpdateGroupPanels();
|
||||
CBaseStatGroupPanel* AddGroup( const wchar_t* name, const char* title_tag, const wchar_t* def = NULL );
|
||||
const wchar_t* TranslateWeaponKillIDToAlias( int statKillID );
|
||||
const wchar_t* LocalizeTagOrUseDefault( const char* tag, const wchar_t* def = NULL );
|
||||
|
||||
virtual void RepopulateStats() = 0;
|
||||
|
||||
vgui::SectionedListPanel *m_statsList;
|
||||
vgui::HFont m_listItemFont;
|
||||
|
||||
private:
|
||||
|
||||
vgui::PanelListPanel *m_pGroupsList;
|
||||
vgui::ImagePanel* m_bottomBar;
|
||||
StatCard* m_pStatCard;
|
||||
bool m_bStatsDirty;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
class CBaseStatGroupButton : public vgui::Button
|
||||
{
|
||||
DECLARE_CLASS_SIMPLE( CBaseStatGroupButton, vgui::Button );
|
||||
|
||||
public:
|
||||
|
||||
CBaseStatGroupButton( vgui::Panel *pParent, const char *pName, const char *pText );
|
||||
|
||||
virtual void DoClick( void );
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class CBaseStatGroupPanel : public vgui::EditablePanel
|
||||
{
|
||||
DECLARE_CLASS_SIMPLE( CBaseStatGroupPanel, vgui::EditablePanel );
|
||||
|
||||
public:
|
||||
CBaseStatGroupPanel( vgui::PanelListPanel *parent, CBaseStatsPage *owner, const char* name, int iListItemID );
|
||||
~CBaseStatGroupPanel();
|
||||
|
||||
void SetGroupInfo ( const wchar_t* name, const wchar_t* title);
|
||||
|
||||
virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
|
||||
|
||||
void Update( vgui::IScheme* pScheme );
|
||||
|
||||
vgui::PanelListPanel* GetParent() { return m_pParent; }
|
||||
CBaseStatsPage* GetOwner() { return m_pOwner; }
|
||||
|
||||
void SetGroupActive(bool active) { m_bActiveButton = active; }
|
||||
bool IsGroupActive() { return m_bActiveButton; }
|
||||
|
||||
protected:
|
||||
|
||||
// Loads an icon into a specified image panel, or turns the panel off if no icon was found.
|
||||
bool LoadIcon( const char* pFilename);
|
||||
|
||||
private:
|
||||
void PreloadResourceFile( void );
|
||||
|
||||
vgui::PanelListPanel *m_pParent;
|
||||
CBaseStatsPage *m_pOwner;
|
||||
|
||||
vgui::Label *m_pBaseStatGroupLabel;
|
||||
|
||||
CBaseStatGroupButton *m_pGroupButton;
|
||||
|
||||
vgui::ImagePanel *m_pGroupIcon;
|
||||
|
||||
vgui::IScheme *m_pSchemeSettings;
|
||||
|
||||
bool m_bActiveButton;
|
||||
|
||||
wchar_t *m_pGroupName;
|
||||
wchar_t *m_pGroupTitle;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // CSBASESTATSPAGE_H
|
||||
Reference in New Issue
Block a user