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.
109 lines
3.6 KiB
109 lines
3.6 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#ifndef TESTITEM_ROOT_H |
|
#define TESTITEM_ROOT_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "vgui_controls/EditablePanel.h" |
|
#include "vgui_controls/ScrollableEditablePanel.h" |
|
#include "tf_controls.h" |
|
#include "testitem_dialog.h" |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// A panel that handles the overall item testing process |
|
//----------------------------------------------------------------------------- |
|
class CTestItemBotControls : public vgui::EditablePanel, public CGameEventListener |
|
{ |
|
DECLARE_CLASS_SIMPLE( CTestItemBotControls, vgui::EditablePanel ); |
|
public: |
|
CTestItemBotControls( vgui::Panel *parent ); |
|
~CTestItemBotControls( void ); |
|
|
|
void SetupComboBoxes( void ); |
|
virtual void FireGameEvent( IGameEvent *event ); |
|
void ImportTestSetup( KeyValues *pKV ); |
|
void Close( void ); |
|
void SetEmbedded( bool bEmbedded ) { m_bEmbedded = bEmbedded; InvalidateLayout(); } |
|
|
|
virtual void ApplySchemeSettings( vgui::IScheme *pScheme ); |
|
virtual void PerformLayout( void ); |
|
virtual void OnCommand( const char *command ); |
|
void UpdateBots( void ); |
|
void CommitSettingsToKV( void ); |
|
|
|
private: |
|
vgui::ComboBox *m_pBotAnimationComboBox; |
|
vgui::Slider *m_pBotAnimationSpeedSlider; |
|
vgui::CheckButton *m_pBotForceFireCheckBox; |
|
vgui::CheckButton *m_pBotTurntableCheckBox; |
|
vgui::CheckButton *m_pBotViewScanCheckBox; |
|
bool m_bEmbedded; |
|
}; |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// A panel that handles the overall item testing process |
|
//----------------------------------------------------------------------------- |
|
class CTestItemRoot : public vgui::EditablePanel, public CGameEventListener |
|
{ |
|
DECLARE_CLASS_SIMPLE( CTestItemRoot, vgui::EditablePanel ); |
|
public: |
|
CTestItemRoot( vgui::Panel *parent ); |
|
~CTestItemRoot( void ); |
|
|
|
virtual void ApplySchemeSettings( vgui::IScheme *pScheme ); |
|
virtual void PerformLayout( void ); |
|
virtual void OnCommand( const char *command ); |
|
virtual void FireGameEvent( IGameEvent *event ); |
|
|
|
void Close( void ); |
|
void CloseAndTestItem( void ); |
|
void UpdateTestItems( void ); |
|
int FindReplaceableItemsForSelectedClass( CUtlVector<item_definition_index_t> *pItemDefs = NULL, bool bWeapons = false ); |
|
void ExportTestSetup( const char *pFilename ); |
|
void ImportTestSetup( const char *pFilename ); |
|
void ImportTestSetup( KeyValues *pKV ); |
|
void CommitSettingsToKV( void ); |
|
|
|
MESSAGE_FUNC_PARAMS( OnSetTestItemKVs, "SetTestItemKVs", pKV ); |
|
MESSAGE_FUNC_PARAMS( OnButtonChecked, "CheckButtonChecked", pData ); |
|
MESSAGE_FUNC_CHARPTR( OnFileSelected, "FileSelected", fullpath ); |
|
|
|
private: |
|
void SetupComboBoxes( void ); |
|
|
|
private: |
|
int m_iClassUsage; |
|
|
|
vgui::EditablePanel *m_pClassUsagePanel; |
|
vgui::EditablePanel *m_pTestingPanel; |
|
vgui::EditablePanel *m_pBotAdditionPanel; |
|
CTestItemBotControls *m_pBotControlPanel; |
|
|
|
// Testing panel |
|
CExButton *m_pItemTestButtons[TI_TYPE_COUNT]; |
|
CExButton *m_pItemRemoveButtons[TI_TYPE_COUNT]; |
|
CExLabel *m_pItemTestLabels[TI_TYPE_COUNT]; |
|
vgui::CheckButton *m_pClassCheckButtons[TF_LAST_NORMAL_CLASS]; |
|
KeyValues *m_pItemTestKVs[TI_TYPE_COUNT]; |
|
|
|
// Bot addition panel |
|
vgui::ComboBox *m_pBotSelectionComboBox; |
|
vgui::CheckButton *m_pAutoAddBotsCheckBox; |
|
vgui::CheckButton *m_pBotsOnBlueTeamCheckBox; |
|
CExButton *m_pAddBotButton; |
|
|
|
vgui::DHANDLE<CTestItemDialog> m_hEditItemDialog; |
|
vgui::FileOpenDialog *m_hImportExportDialog; |
|
bool m_bExporting; |
|
}; |
|
|
|
#endif // TESTITEM_ROOT_H
|
|
|