source-engine/gameui/OptionsSubDifficulty.cpp

80 lines
2.1 KiB
C++
Raw Normal View History

2020-04-22 16:56:21 +00:00
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#include "OptionsSubDifficulty.h"
#include "tier1/convar.h"
#include "EngineInterface.h"
#include "tier1/KeyValues.h"
#include "vgui_controls/RadioButton.h"
using namespace vgui;
//-----------------------------------------------------------------------------
// Purpose: Constructor
//-----------------------------------------------------------------------------
COptionsSubDifficulty::COptionsSubDifficulty(vgui::Panel *parent) : BaseClass(parent, NULL)
{
m_pEasyRadio = new RadioButton(this, "Skill1Radio", "#GameUI_SkillEasy");
m_pNormalRadio = new RadioButton(this, "Skill2Radio", "#GameUI_SkillNormal");
m_pHardRadio = new RadioButton(this, "Skill3Radio", "#GameUI_SkillHard");
LoadControlSettings("Resource/OptionsSubDifficulty.res");
}
//-----------------------------------------------------------------------------
// Purpose: resets controls
//-----------------------------------------------------------------------------
void COptionsSubDifficulty::OnResetData()
{
ConVarRef var( "skill" );
if (var.GetInt() == 1)
{
m_pEasyRadio->SetSelected(true);
}
else if (var.GetInt() == 3)
{
m_pHardRadio->SetSelected(true);
}
else
{
m_pNormalRadio->SetSelected(true);
}
}
//-----------------------------------------------------------------------------
// Purpose: sets data based on control settings
//-----------------------------------------------------------------------------
void COptionsSubDifficulty::OnApplyChanges()
{
ConVarRef var( "skill" );
if ( m_pEasyRadio->IsSelected() )
{
var.SetValue( 1 );
}
else if ( m_pHardRadio->IsSelected() )
{
var.SetValue( 3 );
}
else
{
var.SetValue( 2 );
}
}
//-----------------------------------------------------------------------------
// Purpose: enables apply button on radio buttons being pressed
//-----------------------------------------------------------------------------
void COptionsSubDifficulty::OnRadioButtonChecked()
{
PostActionSignal(new KeyValues("ApplyButtonEnable"));
}