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.
64 lines
1.8 KiB
64 lines
1.8 KiB
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
//=======================================================================================//
|
|
|
|
#ifndef LOADOUT_PRESET_PANEL_H
|
|
#define LOADOUT_PRESET_PANEL_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "vgui_controls/EditablePanel.h"
|
|
#include "vgui_controls/PHandle.h"
|
|
#include "class_loadout_panel.h"
|
|
|
|
class CExButton;
|
|
class CSelectedItemPreset;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// A loadout preset panel, which allows combinations of items to be saved and
|
|
// restored via the GC.
|
|
//-----------------------------------------------------------------------------
|
|
class CLoadoutPresetPanel : public vgui::EditablePanel
|
|
{
|
|
DECLARE_CLASS_SIMPLE( CLoadoutPresetPanel, vgui::EditablePanel );
|
|
public:
|
|
CLoadoutPresetPanel( vgui::Panel *pParent, const char *pName ); // name is ignored but needed for DECLARE_BUILD_FACTORY()
|
|
|
|
void SetClass( int iClass );
|
|
void EnableVerticalDisplay( bool bVertical );
|
|
|
|
virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
|
|
virtual void ApplySettings( KeyValues *pInResourceData );
|
|
virtual void PerformLayout();
|
|
virtual void OnCommand( const char *command );
|
|
virtual void OnTick() OVERRIDE;
|
|
|
|
bool HandlePresetKeyPressed( vgui::KeyCode code );
|
|
|
|
private:
|
|
equipped_preset_t GetSelectedPresetID() const;
|
|
void UpdatePresetButtonStates();
|
|
void LoadPreset( int iPresetIndex );
|
|
|
|
enum PresetsConsts_t
|
|
{
|
|
MAX_PRESETS = 4,
|
|
};
|
|
|
|
int m_iClass;
|
|
KeyValues *m_pPresetButtonKv;
|
|
CExButton *m_pPresetButtons[ MAX_PRESETS ];
|
|
bool m_bDisplayVertical;
|
|
|
|
enum PresetButtonColors_t
|
|
{
|
|
LOADED = 0, NOTLOADED,
|
|
FG = 0, BG,
|
|
DEFAULT = 0, ARMED, DEPRESSED
|
|
};
|
|
Color m_aDefaultColors[2][2][3]; // [LOADED|NOTLOADED][FG|BG][DEFAULT|ARMED|DEPRESSED]
|
|
};
|
|
|
|
|
|
#endif // LOADOUT_PRESET_PANEL_H
|