Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.0 KiB

5 years ago
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef BONUSMAPSDIALOG_H
#define BONUSMAPSDIALOG_H
#ifdef _WIN32
#pragma once
#endif
#include "vgui_controls/Frame.h"
#include "BonusMapsDatabase.h"
//-----------------------------------------------------------------------------
// Purpose: Displays and loads available bonus maps
//-----------------------------------------------------------------------------
class CBonusMapsDialog : public vgui::Frame
{
DECLARE_CLASS_SIMPLE( CBonusMapsDialog, vgui::Frame );
public:
CBonusMapsDialog(vgui::Panel *parent);
~CBonusMapsDialog();
void SetSelectedBooleanStatus( const char *pchName, bool bValue );
void RefreshData( void );
int GetSelectedChallenge( void );
virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
virtual void OnCommand( const char *command );
void OnKeyCodeTyped( vgui::KeyCode code );
void OnKeyCodePressed( vgui::KeyCode code );
private:
bool ImportZippedBonusMaps( const char *pchZippedFileName );
void BuildMapsList( void );
void CreateBonusMapsList();
int GetSelectedItemBonusMapIndex();
void RefreshDialog( BonusMapDescription_t *pMap );
void RefreshMedalDisplay( BonusMapDescription_t *pMap );
void RefreshCompletionPercentage( void );
MESSAGE_FUNC( OnPanelSelected, "PanelSelected" );
MESSAGE_FUNC( OnControlModified, "ControlModified" );
MESSAGE_FUNC( OnTextChanged, "TextChanged" )
{
OnControlModified();
}
MESSAGE_FUNC_CHARPTR( OnFileSelected, "FileSelected", fullpath );
private:
Color m_PercentageBarBackgroundColor, m_PercentageBarColor;
vgui::FileOpenDialog *m_hImportBonusMapsDialog;
vgui::PanelListPanel *m_pGameList;
vgui::ComboBox *m_pChallengeSelection;
vgui::ImagePanel *m_pPercentageBarBackground;
vgui::ImagePanel *m_pPercentageBar;
};
extern CBonusMapsDialog *g_pBonusMapsDialog;
#endif // BONUSMAPSDIALOG_H