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.
75 lines
2.0 KiB
75 lines
2.0 KiB
//========= 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
|