mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 14:16:50 +00:00
108 lines
2.9 KiB
C++
108 lines
2.9 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
//=============================================================================
|
|
|
|
#include "CommentaryExplanationDialog.h"
|
|
#include "BasePanel.h"
|
|
#include "convar.h"
|
|
#include "EngineInterface.h"
|
|
#include "GameUI_Interface.h"
|
|
#include "vgui/ISurface.h"
|
|
#include "vgui/IInput.h"
|
|
|
|
#include <stdio.h>
|
|
|
|
using namespace vgui;
|
|
|
|
// memdbgon must be the last include file in a .cpp file!!!
|
|
#include "tier0/memdbgon.h"
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose:
|
|
//-----------------------------------------------------------------------------
|
|
CCommentaryExplanationDialog::CCommentaryExplanationDialog(vgui::Panel *parent, char *pszFinishCommand) : BaseClass(parent, "CommentaryExplanationDialog")
|
|
{
|
|
SetDeleteSelfOnClose(true);
|
|
SetSizeable( false );
|
|
|
|
input()->SetAppModalSurface(GetVPanel());
|
|
|
|
LoadControlSettings("Resource/CommentaryExplanationDialog.res");
|
|
|
|
MoveToCenterOfScreen();
|
|
|
|
GameUI().PreventEngineHideGameUI();
|
|
|
|
// Save off the finish command
|
|
Q_snprintf( m_pszFinishCommand, sizeof( m_pszFinishCommand ), "%s", pszFinishCommand );
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose:
|
|
//-----------------------------------------------------------------------------
|
|
CCommentaryExplanationDialog::~CCommentaryExplanationDialog()
|
|
{
|
|
}
|
|
|
|
void CCommentaryExplanationDialog::OnKeyCodeTyped(KeyCode code)
|
|
{
|
|
if ( code == KEY_ESCAPE )
|
|
{
|
|
OnCommand( "cancel" );
|
|
}
|
|
else
|
|
{
|
|
BaseClass::OnKeyCodeTyped(code);
|
|
}
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose:
|
|
//-----------------------------------------------------------------------------
|
|
void CCommentaryExplanationDialog::OnKeyCodePressed(KeyCode code)
|
|
{
|
|
if ( GetBaseButtonCode( code ) == KEY_XBUTTON_B || GetBaseButtonCode( code ) == STEAMCONTROLLER_B )
|
|
{
|
|
OnCommand( "cancel" );
|
|
}
|
|
else if ( GetBaseButtonCode( code ) == KEY_XBUTTON_A || GetBaseButtonCode( code ) == STEAMCONTROLLER_A )
|
|
{
|
|
OnCommand( "ok" );
|
|
}
|
|
else
|
|
{
|
|
BaseClass::OnKeyCodePressed(code);
|
|
}
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: handles button commands
|
|
//-----------------------------------------------------------------------------
|
|
void CCommentaryExplanationDialog::OnCommand( const char *command )
|
|
{
|
|
if ( !stricmp( command, "ok" ) )
|
|
{
|
|
Close();
|
|
BasePanel()->FadeToBlackAndRunEngineCommand( m_pszFinishCommand );
|
|
}
|
|
else if ( !stricmp( command, "cancel" ) || !stricmp( command, "close" ) )
|
|
{
|
|
Close();
|
|
}
|
|
else
|
|
{
|
|
BaseClass::OnCommand( command );
|
|
}
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose:
|
|
//-----------------------------------------------------------------------------
|
|
void CCommentaryExplanationDialog::OnClose( void )
|
|
{
|
|
BaseClass::OnClose();
|
|
GameUI().AllowEngineHideGameUI();
|
|
}
|