source-engine/game/client/cstrike/VGUI/achievement_stats_summary.cpp
FluorescentCIAAfricanAmerican 3bf9df6b27 1
2020-04-22 12:56:21 -04:00

121 lines
3.7 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#include "cbase.h"
#include "achievement_stats_summary.h"
#include "achievements_page.h"
#include "lifetime_stats_page.h"
#include "match_stats_page.h"
#include "stats_summary.h"
#include <stdio.h>
using namespace vgui;
#include <vgui/ILocalize.h>
#include "vgui/ISurface.h"
#include "filesystem.h"
#include <KeyValues.h>
// memdbgon must be the last include file in a .cpp file!!!
#include <tier0/memdbgon.h>
const int cDialogWidth = 900;
//-----------------------------------------------------------------------------
// Purpose: Constructor
//-----------------------------------------------------------------------------
CAchievementAndStatsSummary::CAchievementAndStatsSummary(vgui::Panel *parent) : BaseClass(parent, "AchievementAndStatsSummary")
{
SetDeleteSelfOnClose(false);
//SetBounds(0, 0, 640, 384);
SetBounds(0, 0, 900, 780);
SetMinimumSize( 640, 780 );
SetSizeable( false );
SetTitle("#GameUI_CreateAchievementsAndStats", true);
SetOKButtonText("#GameUI_Close");
SetCancelButtonVisible(false);
m_pStatsSummary = new CStatsSummary( this, "StatsSummary" );
m_pAchievementsPage = new CAchievementsPage(this, "AchievementsPage");
m_pLifetimeStatsPage = new CLifetimeStatsPage(this, "StatsPage");
m_pMatchStatsPage = new CMatchStatsPage(this, "MatchStatsPage");
AddPage(m_pStatsSummary, "#GameUI_Stats_Summary");
AddPage(m_pAchievementsPage, "#GameUI_Achievements_Tab");
AddPage(m_pMatchStatsPage, "#GameUI_MatchStats");
AddPage(m_pLifetimeStatsPage, "#GameUI_LifetimeStats");
}
//-----------------------------------------------------------------------------
// Purpose: Destructor
//-----------------------------------------------------------------------------
CAchievementAndStatsSummary::~CAchievementAndStatsSummary()
{
}
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
void CAchievementAndStatsSummary::ApplySchemeSettings( vgui::IScheme *pScheme )
{
BaseClass::ApplySchemeSettings( pScheme );
int screenWide, screenTall;
surface()->GetScreenSize( screenWide, screenTall );
// [smessick] Close the achievements dialog for a low resolution screen.
if ( screenWide < cAchievementsDialogMinWidth )
{
OnOK( true );
Close();
}
}
//-----------------------------------------------------------------------------
// Purpose: runs the server when the OK button is pressed
//-----------------------------------------------------------------------------
bool CAchievementAndStatsSummary::OnOK(bool applyOnly)
{
BaseClass::OnOK(applyOnly);
return true;
}
//----------------------------------------------------------
// Purpose: Preserve our width to the one in the .res file
//----------------------------------------------------------
void CAchievementAndStatsSummary::OnSizeChanged(int newWide, int newTall)
{
// Lock the width, but allow height scaling
if ( newWide != cDialogWidth )
{
SetSize( cDialogWidth, newTall );
return;
}
BaseClass::OnSizeChanged(newWide, newTall);
}
//----------------------------------------------------------
// Purpose: Processes when summary dialog is activated.
//----------------------------------------------------------
void CAchievementAndStatsSummary::Activate()
{
m_pStatsSummary->MakeReadyForUse();
m_pStatsSummary->UpdateStatsData();
m_pAchievementsPage->UpdateAchievementDialogInfo();
m_pLifetimeStatsPage->UpdateStatsData();
m_pMatchStatsPage->UpdateStatsData();
BaseClass::Activate();
}